public final class org.jruby.runtime.ThreadContext
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.jruby.runtime.ThreadContext
  super_class: java.lang.Object
{
  private static final org.jruby.util.log.Logger LOG;
    descriptor: Lorg/jruby/util/log/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int INITIAL_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private static final int INITIAL_FRAMES_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private static final int CALL_POLL_COUNT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4095

  public final org.jruby.Ruby runtime;
    descriptor: Lorg/jruby/Ruby;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.jruby.runtime.builtin.IRubyObject nil;
    descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.jruby.RubyBoolean tru;
    descriptor: Lorg/jruby/RubyBoolean;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.jruby.RubyBoolean fals;
    descriptor: Lorg/jruby/RubyBoolean;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.jruby.ast.executable.RuntimeCache runtimeCache;
    descriptor: Lorg/jruby/ast/executable/RuntimeCache;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

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

  private org.jruby.RubyThread thread;
    descriptor: Lorg/jruby/RubyThread;
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.ref.WeakReference<org.jruby.ext.fiber.ThreadFiber> NULL_FIBER_REF;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ref/WeakReference<Lorg/jruby/ext/fiber/ThreadFiber;>;

  private java.lang.ref.WeakReference<org.jruby.ext.fiber.ThreadFiber> fiber;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/ref/WeakReference<Lorg/jruby/ext/fiber/ThreadFiber;>;

  private org.jruby.ext.fiber.ThreadFiber rootFiber;
    descriptor: Lorg/jruby/ext/fiber/ThreadFiber;
    flags: (0x0002) ACC_PRIVATE

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

  private org.jruby.runtime.Frame[] frameStack;
    descriptor: [Lorg/jruby/runtime/Frame;
    flags: (0x0002) ACC_PRIVATE

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

  private org.jruby.runtime.backtrace.BacktraceElement[] backtrace;
    descriptor: [Lorg/jruby/runtime/backtrace/BacktraceElement;
    flags: (0x0002) ACC_PRIVATE

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

  private org.jruby.runtime.DynamicScope[] scopeStack;
    descriptor: [Lorg/jruby/runtime/DynamicScope;
    flags: (0x0002) ACC_PRIVATE

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

  private static final org.jruby.exceptions.CatchThrow[] EMPTY_CATCHTARGET_STACK;
    descriptor: [Lorg/jruby/exceptions/CatchThrow;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private org.jruby.exceptions.CatchThrow[] catchStack;
    descriptor: [Lorg/jruby/exceptions/CatchThrow;
    flags: (0x0002) ACC_PRIVATE

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

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

  private org.jruby.runtime.profile.ProfileCollection profileCollection;
    descriptor: Lorg/jruby/runtime/profile/ProfileCollection;
    flags: (0x0002) ACC_PRIVATE

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

  org.jruby.runtime.CallType lastCallType;
    descriptor: Lorg/jruby/runtime/CallType;
    flags: (0x0000) 

  org.jruby.runtime.Visibility lastVisibility;
    descriptor: Lorg/jruby/runtime/Visibility;
    flags: (0x0000) 

  org.jruby.runtime.builtin.IRubyObject lastExitStatus;
    descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0000) 

  private java.lang.Throwable savedExcInLambda;
    descriptor: Ljava/lang/Throwable;
    flags: (0x0002) ACC_PRIVATE

  public transient java.security.SecureRandom secureRandom;
    descriptor: Ljava/security/SecureRandom;
    flags: (0x0081) ACC_PUBLIC, ACC_TRANSIENT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private static boolean tryPreferredPRNG;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean trySHA1PRNG;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  public final org.jruby.runtime.JavaSites sites;
    descriptor: Lorg/jruby/runtime/JavaSites;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private org.jcodings.Encoding[] encodingHolder;
    descriptor: [Lorg/jcodings/Encoding;
    flags: (0x0002) ACC_PRIVATE

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

  public static final com.headius.backport9.stack.StackWalker WALKER;
    descriptor: Lcom/headius/backport9/stack/StackWalker;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.headius.backport9.stack.StackWalker WALKER8;
    descriptor: Lcom/headius/backport9/stack/StackWalker;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

  private java.util.Map<java.lang.String, java.util.Map<org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject>> symToGuards;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;>;

  private java.util.Set<org.jruby.util.RecursiveComparator$Pair> recursiveSet;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/jruby/util/RecursiveComparator$Pair;>;

  public boolean exceptionRequiresBacktrace;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  private org.jruby.util.RubyDateFormat dateFormat;
    descriptor: Lorg/jruby/util/RubyDateFormat;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 87
            ldc Lorg/jruby/runtime/ThreadContext;
            invokestatic org.jruby.util.log.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/jruby/util/log/Logger;
            putstatic org.jruby.runtime.ThreadContext.LOG:Lorg/jruby/util/log/Logger;
         1: .line 110
            new java.lang.ref.WeakReference
            dup
            aconst_null
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putstatic org.jruby.runtime.ThreadContext.NULL_FIBER_REF:Ljava/lang/ref/WeakReference;
         2: .line 127
            iconst_0
            anewarray org.jruby.exceptions.CatchThrow
            putstatic org.jruby.runtime.ThreadContext.EMPTY_CATCHTARGET_STACK:[Lorg/jruby/exceptions/CatchThrow;
         3: .line 158
            iconst_1
            putstatic org.jruby.runtime.ThreadContext.tryPreferredPRNG:Z
         4: .line 159
            iconst_1
            putstatic org.jruby.runtime.ThreadContext.trySHA1PRNG:Z
         5: .line 768
            invokestatic com.headius.backport9.stack.StackWalker.getInstance:()Lcom/headius/backport9/stack/StackWalker;
            putstatic org.jruby.runtime.ThreadContext.WALKER:Lcom/headius/backport9/stack/StackWalker;
         6: .line 769
            new com.headius.backport9.stack.impl.StackWalker8
            dup
            invokespecial com.headius.backport9.stack.impl.StackWalker8.<init>:()V
            putstatic org.jruby.runtime.ThreadContext.WALKER8:Lcom/headius/backport9/stack/StackWalker;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.jruby.runtime.ThreadContext newContext(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/runtime/ThreadContext;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 90
            new org.jruby.runtime.ThreadContext
            dup
            aload 0 /* runtime */
            invokespecial org.jruby.runtime.ThreadContext.<init>:(Lorg/jruby/Ruby;)V
            areturn
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  

  public java.security.SecureRandom getSecureRandom();
    descriptor: ()Ljava/security/SecureRandom;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 165
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.secureRandom:Ljava/security/SecureRandom;
            astore 1 /* secureRandom */
        start local 1 // java.security.SecureRandom secureRandom
         1: .line 168
            aload 1 /* secureRandom */
            ifnonnull 6
            getstatic org.jruby.runtime.ThreadContext.tryPreferredPRNG:Z
            ifeq 6
         2: .line 170
            getstatic org.jruby.util.cli.Options.PREFERRED_PRNG:Lcom/headius/options/Option;
            invokevirtual com.headius.options.Option.load:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.security.SecureRandom.getInstance:(Ljava/lang/String;)Ljava/security/SecureRandom;
            astore 1 /* secureRandom */
         3: .line 171
            goto 6
      StackMap locals: org.jruby.runtime.ThreadContext java.security.SecureRandom
      StackMap stack: java.lang.Exception
         4: pop
         5: .line 172
            iconst_0
            putstatic org.jruby.runtime.ThreadContext.tryPreferredPRNG:Z
         6: .line 177
      StackMap locals:
      StackMap stack:
            aload 1 /* secureRandom */
            ifnonnull 11
            getstatic org.jruby.runtime.ThreadContext.trySHA1PRNG:Z
            ifeq 11
         7: .line 179
            ldc "SHA1PRNG"
            invokestatic java.security.SecureRandom.getInstance:(Ljava/lang/String;)Ljava/security/SecureRandom;
            astore 1 /* secureRandom */
         8: .line 180
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Exception
         9: pop
        10: .line 181
            iconst_0
            putstatic org.jruby.runtime.ThreadContext.trySHA1PRNG:Z
        11: .line 186
      StackMap locals:
      StackMap stack:
            aload 1 /* secureRandom */
            ifnonnull 13
        12: .line 187
            new java.security.SecureRandom
            dup
            invokespecial java.security.SecureRandom.<init>:()V
            astore 1 /* secureRandom */
        13: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* secureRandom */
            putfield org.jruby.runtime.ThreadContext.secureRandom:Ljava/security/SecureRandom;
        14: .line 192
            aload 1 /* secureRandom */
            areturn
        end local 1 // java.security.SecureRandom secureRandom
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lorg/jruby/runtime/ThreadContext;
            1   15     1  secureRandom  Ljava/security/SecureRandom;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Exception
           7     8       9  Class java.lang.Exception

  private void <init>(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.Ruby runtime
         0: .line 200
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 111
            aload 0 /* this */
            getstatic org.jruby.runtime.ThreadContext.NULL_FIBER_REF:Ljava/lang/ref/WeakReference;
            putfield org.jruby.runtime.ThreadContext.fiber:Ljava/lang/ref/WeakReference;
         2: .line 116
            aload 0 /* this */
            bipush 10
            anewarray org.jruby.runtime.Frame
            putfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
         3: .line 117
            aload 0 /* this */
            iconst_m1
            putfield org.jruby.runtime.ThreadContext.frameIndex:I
         4: .line 119
            aload 0 /* this */
            bipush 10
            anewarray org.jruby.runtime.backtrace.BacktraceElement
            putfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
         5: .line 120
            aload 0 /* this */
            iconst_m1
            putfield org.jruby.runtime.ThreadContext.backtraceIndex:I
         6: .line 124
            aload 0 /* this */
            bipush 10
            anewarray org.jruby.runtime.DynamicScope
            putfield org.jruby.runtime.ThreadContext.scopeStack:[Lorg/jruby/runtime/DynamicScope;
         7: .line 125
            aload 0 /* this */
            iconst_m1
            putfield org.jruby.runtime.ThreadContext.scopeIndex:I
         8: .line 128
            aload 0 /* this */
            getstatic org.jruby.runtime.ThreadContext.EMPTY_CATCHTARGET_STACK:[Lorg/jruby/exceptions/CatchThrow;
            putfield org.jruby.runtime.ThreadContext.catchStack:[Lorg/jruby/exceptions/CatchThrow;
         9: .line 129
            aload 0 /* this */
            iconst_m1
            putfield org.jruby.runtime.ThreadContext.catchIndex:I
        10: .line 131
            aload 0 /* this */
            iconst_0
            putfield org.jruby.runtime.ThreadContext.isProfiling:Z
        11: .line 138
            aload 0 /* this */
            iconst_1
            putfield org.jruby.runtime.ThreadContext.eventHooksEnabled:Z
        12: .line 726
            aload 0 /* this */
            iconst_0
            putfield org.jruby.runtime.ThreadContext.callNumber:I
        13: .line 1202
            aload 0 /* this */
            iconst_0
            putfield org.jruby.runtime.ThreadContext.currentMethodSerial:I
        14: .line 1336
            aload 0 /* this */
            iconst_1
            putfield org.jruby.runtime.ThreadContext.exceptionRequiresBacktrace:Z
        15: .line 201
            aload 0 /* this */
            aload 1 /* runtime */
            putfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
        16: .line 202
            aload 0 /* this */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            putfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
        17: .line 203
            aload 0 /* this */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            putfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
        18: .line 204
            aload 0 /* this */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            putfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
        19: .line 205
            aload 0 /* this */
            aconst_null
            putfield org.jruby.runtime.ThreadContext.savedExcInLambda:Ljava/lang/Throwable;
        20: .line 207
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getInstanceConfig:()Lorg/jruby/RubyInstanceConfig;
            invokevirtual org.jruby.RubyInstanceConfig.isProfilingEntireRun:()Z
            ifeq 22
        21: .line 208
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.startProfiling:()V
        22: .line 211
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby
      StackMap stack:
            aload 0 /* this */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getRuntimeCache:()Lorg/jruby/ast/executable/RuntimeCache;
            putfield org.jruby.runtime.ThreadContext.runtimeCache:Lorg/jruby/ast/executable/RuntimeCache;
        23: .line 212
            aload 0 /* this */
            aload 1 /* runtime */
            getfield org.jruby.Ruby.sites:Lorg/jruby/runtime/JavaSites;
            putfield org.jruby.runtime.ThreadContext.sites:Lorg/jruby/runtime/JavaSites;
        24: .line 216
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getStaticScopeFactory:()Lorg/jruby/parser/StaticScopeFactory;
            aconst_null
            invokevirtual org.jruby.parser.StaticScopeFactory.newLocalScope:(Lorg/jruby/parser/StaticScope;)Lorg/jruby/parser/StaticScope;
            astore 2 /* topStaticScope */
        start local 2 // org.jruby.parser.StaticScope topStaticScope
        25: .line 217
            aload 0 /* this */
            new org.jruby.runtime.scope.ManyVarsDynamicScope
            dup
            aload 2 /* topStaticScope */
            aconst_null
            invokespecial org.jruby.runtime.scope.ManyVarsDynamicScope.<init>:(Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;)V
            invokevirtual org.jruby.runtime.ThreadContext.pushScope:(Lorg/jruby/runtime/DynamicScope;)V
        26: .line 219
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            astore 3 /* stack */
        start local 3 // org.jruby.runtime.Frame[] stack
        27: .line 220
            aload 3 /* stack */
            arraylength
            istore 4 /* length */
        start local 4 // int length
        28: .line 221
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        29: goto 32
        30: .line 222
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.parser.StaticScope org.jruby.runtime.Frame[] int int
      StackMap stack:
            aload 3 /* stack */
            iload 5 /* i */
            new org.jruby.runtime.Frame
            dup
            invokespecial org.jruby.runtime.Frame.<init>:()V
            aastore
        31: .line 221
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 5 /* i */
            iload 4 /* length */
            if_icmplt 30
        end local 5 // int i
        33: .line 224
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            astore 5 /* stack2 */
        start local 5 // org.jruby.runtime.backtrace.BacktraceElement[] stack2
        34: .line 225
            aload 5 /* stack2 */
            arraylength
            istore 6 /* length2 */
        start local 6 // int length2
        35: .line 226
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        36: goto 39
        37: .line 227
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.parser.StaticScope org.jruby.runtime.Frame[] int org.jruby.runtime.backtrace.BacktraceElement[] int int
      StackMap stack:
            aload 5 /* stack2 */
            iload 7 /* i */
            new org.jruby.runtime.backtrace.BacktraceElement
            dup
            invokespecial org.jruby.runtime.backtrace.BacktraceElement.<init>:()V
            aastore
        38: .line 226
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 7 /* i */
            iload 6 /* length2 */
            if_icmplt 37
        end local 7 // int i
        40: .line 229
            aload 0 /* this */
            ldc ""
            ldc ""
            iconst_0
            invokestatic org.jruby.runtime.ThreadContext.pushBacktrace:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/String;I)V
        41: .line 230
            aload 0 /* this */
            ldc ""
            ldc ""
            iconst_0
            invokestatic org.jruby.runtime.ThreadContext.pushBacktrace:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/String;I)V
        42: .line 231
            return
        end local 6 // int length2
        end local 5 // org.jruby.runtime.backtrace.BacktraceElement[] stack2
        end local 4 // int length
        end local 3 // org.jruby.runtime.Frame[] stack
        end local 2 // org.jruby.parser.StaticScope topStaticScope
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   43     0            this  Lorg/jruby/runtime/ThreadContext;
            0   43     1         runtime  Lorg/jruby/Ruby;
           25   43     2  topStaticScope  Lorg/jruby/parser/StaticScope;
           27   43     3           stack  [Lorg/jruby/runtime/Frame;
           28   43     4          length  I
           29   33     5               i  I
           34   43     5          stack2  [Lorg/jruby/runtime/backtrace/BacktraceElement;
           35   43     6         length2  I
           36   40     7               i  I
    MethodParameters:
         Name  Flags
      runtime  

  protected void finalize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 235
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.thread:Lorg/jruby/RubyThread;
            ifnull 2
         1: .line 236
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.thread:Lorg/jruby/RubyThread;
            invokevirtual org.jruby.RubyThread.dispose:()V
         2: .line 238
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/runtime/ThreadContext;
    Exceptions:
      throws java.lang.Throwable

  public final org.jruby.Ruby getRuntime();
    descriptor: ()Lorg/jruby/Ruby;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 251
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.runtime.builtin.IRubyObject getErrorInfo();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 255
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.thread:Lorg/jruby/RubyThread;
            invokevirtual org.jruby.RubyThread.getErrorInfo:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.runtime.builtin.IRubyObject setErrorInfo(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.builtin.IRubyObject errorInfo
         0: .line 259
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.thread:Lorg/jruby/RubyThread;
            aload 1 /* errorInfo */
            invokevirtual org.jruby.RubyThread.setErrorInfo:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         1: .line 260
            aload 1 /* errorInfo */
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject errorInfo
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  errorInfo  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
           Name  Flags
      errorInfo  

  public java.lang.Throwable getSavedExceptionInLambda();
    descriptor: ()Ljava/lang/Throwable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 264
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.savedExcInLambda:Ljava/lang/Throwable;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public void setSavedExceptionInLambda(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // java.lang.Throwable e
         0: .line 268
            aload 0 /* this */
            aload 1 /* e */
            putfield org.jruby.runtime.ThreadContext.savedExcInLambda:Ljava/lang/Throwable;
         1: .line 269
            return
        end local 1 // java.lang.Throwable e
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;
            0    2     1     e  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      e     

  public org.jruby.runtime.CallType getLastCallType();
    descriptor: ()Lorg/jruby/runtime/CallType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 272
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.lastCallType:Lorg/jruby/runtime/CallType;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.runtime.Visibility getLastVisibility();
    descriptor: ()Lorg/jruby/runtime/Visibility;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 276
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.lastVisibility:Lorg/jruby/runtime/Visibility;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public void setLastCallStatusAndVisibility(org.jruby.runtime.CallType, org.jruby.runtime.Visibility);
    descriptor: (Lorg/jruby/runtime/CallType;Lorg/jruby/runtime/Visibility;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.CallType callType
        start local 2 // org.jruby.runtime.Visibility visibility
         0: .line 280
            aload 0 /* this */
            aload 1 /* callType */
            putfield org.jruby.runtime.ThreadContext.lastCallType:Lorg/jruby/runtime/CallType;
         1: .line 281
            aload 0 /* this */
            aload 2 /* visibility */
            putfield org.jruby.runtime.ThreadContext.lastVisibility:Lorg/jruby/runtime/Visibility;
         2: .line 282
            return
        end local 2 // org.jruby.runtime.Visibility visibility
        end local 1 // org.jruby.runtime.CallType callType
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/jruby/runtime/ThreadContext;
            0    3     1    callType  Lorg/jruby/runtime/CallType;
            0    3     2  visibility  Lorg/jruby/runtime/Visibility;
    MethodParameters:
            Name  Flags
      callType    
      visibility  

  public org.jruby.runtime.builtin.IRubyObject getLastExitStatus();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 285
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.lastExitStatus:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public void setLastExitStatus(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.builtin.IRubyObject lastExitStatus
         0: .line 289
            aload 0 /* this */
            aload 1 /* lastExitStatus */
            putfield org.jruby.runtime.ThreadContext.lastExitStatus:Lorg/jruby/runtime/builtin/IRubyObject;
         1: .line 290
            return
        end local 1 // org.jruby.runtime.builtin.IRubyObject lastExitStatus
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  lastExitStatus  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
                Name  Flags
      lastExitStatus  

  public void printScope();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 293
            getstatic org.jruby.runtime.ThreadContext.LOG:Lorg/jruby/util/log/Logger;
            ldc "SCOPE STACK:"
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 294
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 5
         3: .line 295
      StackMap locals: int
      StackMap stack:
            getstatic org.jruby.runtime.ThreadContext.LOG:Lorg/jruby/util/log/Logger;
            ldc "{}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.scopeStack:[Lorg/jruby/runtime/DynamicScope;
            iload 1 /* i */
            aaload
            aastore
            invokeinterface org.jruby.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 294
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* i */
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.scopeIndex:I
            if_icmple 3
        end local 1 // int i
         6: .line 297
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/runtime/ThreadContext;
            2    6     1     i  I

  public org.jruby.runtime.DynamicScope getCurrentScope();
    descriptor: ()Lorg/jruby/runtime/DynamicScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 300
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.scopeStack:[Lorg/jruby/runtime/DynamicScope;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.scopeIndex:I
            aaload
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.parser.StaticScope getCurrentStaticScope();
    descriptor: ()Lorg/jruby/parser/StaticScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 304
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.scopeStack:[Lorg/jruby/runtime/DynamicScope;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.scopeIndex:I
            aaload
            invokevirtual org.jruby.runtime.DynamicScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  private void expandFrameStack();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 308
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            arraylength
            iconst_2
            imul
            istore 1 /* newSize */
        start local 1 // int newSize
         1: .line 309
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* newSize */
            anewarray org.jruby.runtime.Frame
            iload 1 /* newSize */
            invokevirtual org.jruby.runtime.ThreadContext.fillNewFrameStack:([Lorg/jruby/runtime/Frame;I)[Lorg/jruby/runtime/Frame;
            putfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
         2: .line 310
            return
        end local 1 // int newSize
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/runtime/ThreadContext;
            1    3     1  newSize  I

  private org.jruby.runtime.Frame[] fillNewFrameStack(org.jruby.runtime.Frame[], int);
    descriptor: ([Lorg/jruby/runtime/Frame;I)[Lorg/jruby/runtime/Frame;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.Frame[] newFrameStack
        start local 2 // int newSize
         0: .line 313
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            iconst_0
            aload 1 /* newFrameStack */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 315
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            arraylength
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 316
      StackMap locals: int
      StackMap stack:
            aload 1 /* newFrameStack */
            iload 3 /* i */
            new org.jruby.runtime.Frame
            dup
            invokespecial org.jruby.runtime.Frame.<init>:()V
            aastore
         4: .line 315
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 2 /* newSize */
            if_icmplt 3
        end local 3 // int i
         6: .line 319
            aload 1 /* newFrameStack */
            areturn
        end local 2 // int newSize
        end local 1 // org.jruby.runtime.Frame[] newFrameStack
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/jruby/runtime/ThreadContext;
            0    7     1  newFrameStack  [Lorg/jruby/runtime/Frame;
            0    7     2        newSize  I
            2    6     3              i  I
    MethodParameters:
               Name  Flags
      newFrameStack  
      newSize        

  public void pushScope(org.jruby.runtime.DynamicScope);
    descriptor: (Lorg/jruby/runtime/DynamicScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.DynamicScope scope
         0: .line 323
            aload 0 /* this */
            dup
            getfield org.jruby.runtime.ThreadContext.scopeIndex:I
            iconst_1
            iadd
            dup_x1
            putfield org.jruby.runtime.ThreadContext.scopeIndex:I
            istore 2 /* index */
        start local 2 // int index
         1: .line 324
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.scopeStack:[Lorg/jruby/runtime/DynamicScope;
            astore 3 /* stack */
        start local 3 // org.jruby.runtime.DynamicScope[] stack
         2: .line 325
            aload 3 /* stack */
            iload 2 /* index */
            aload 1 /* scope */
            aastore
         3: .line 326
            iload 2 /* index */
            iconst_1
            iadd
            aload 3 /* stack */
            arraylength
            if_icmpne 5
         4: .line 327
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.expandScopeStack:()V
         5: .line 329
      StackMap locals: int org.jruby.runtime.DynamicScope[]
      StackMap stack:
            return
        end local 3 // org.jruby.runtime.DynamicScope[] stack
        end local 2 // int index
        end local 1 // org.jruby.runtime.DynamicScope scope
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/jruby/runtime/ThreadContext;
            0    6     1  scope  Lorg/jruby/runtime/DynamicScope;
            1    6     2  index  I
            2    6     3  stack  [Lorg/jruby/runtime/DynamicScope;
    MethodParameters:
       Name  Flags
      scope  

  public org.jruby.runtime.DynamicScope pushNewScope(org.jruby.parser.StaticScope);
    descriptor: (Lorg/jruby/parser/StaticScope;)Lorg/jruby/runtime/DynamicScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.parser.StaticScope staticScope
         0: .line 333
            aload 1 /* staticScope */
            aconst_null
            invokevirtual org.jruby.parser.StaticScope.construct:(Lorg/jruby/runtime/DynamicScope;)Lorg/jruby/runtime/DynamicScope;
            astore 2 /* scope */
        start local 2 // org.jruby.runtime.DynamicScope scope
         1: .line 334
            aload 0 /* this */
            aload 2 /* scope */
            invokevirtual org.jruby.runtime.ThreadContext.pushScope:(Lorg/jruby/runtime/DynamicScope;)V
         2: .line 335
            aload 2 /* scope */
            areturn
        end local 2 // org.jruby.runtime.DynamicScope scope
        end local 1 // org.jruby.parser.StaticScope staticScope
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/jruby/runtime/ThreadContext;
            0    3     1  staticScope  Lorg/jruby/parser/StaticScope;
            1    3     2        scope  Lorg/jruby/runtime/DynamicScope;
    RuntimeInvisibleAnnotations: 
      org.jruby.ir.JIT()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        org.jruby.ir.JIT()
    MethodParameters:
             Name  Flags
      staticScope  

  public void popScope();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 339
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.scopeStack:[Lorg/jruby/runtime/DynamicScope;
            aload 0 /* this */
            dup
            getfield org.jruby.runtime.ThreadContext.scopeIndex:I
            dup_x1
            iconst_1
            isub
            putfield org.jruby.runtime.ThreadContext.scopeIndex:I
            aconst_null
            aastore
         1: .line 340
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

  private void expandScopeStack();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 343
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.scopeStack:[Lorg/jruby/runtime/DynamicScope;
            arraylength
            iconst_2
            imul
            istore 1 /* newSize */
        start local 1 // int newSize
         1: .line 344
            iload 1 /* newSize */
            anewarray org.jruby.runtime.DynamicScope
            astore 2 /* newScopeStack */
        start local 2 // org.jruby.runtime.DynamicScope[] newScopeStack
         2: .line 346
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.scopeStack:[Lorg/jruby/runtime/DynamicScope;
            iconst_0
            aload 2 /* newScopeStack */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.scopeStack:[Lorg/jruby/runtime/DynamicScope;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 348
            aload 0 /* this */
            aload 2 /* newScopeStack */
            putfield org.jruby.runtime.ThreadContext.scopeStack:[Lorg/jruby/runtime/DynamicScope;
         4: .line 349
            return
        end local 2 // org.jruby.runtime.DynamicScope[] newScopeStack
        end local 1 // int newSize
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/jruby/runtime/ThreadContext;
            1    5     1        newSize  I
            2    5     2  newScopeStack  [Lorg/jruby/runtime/DynamicScope;

  public org.jruby.RubyThread getThread();
    descriptor: ()Lorg/jruby/RubyThread;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 352
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.thread:Lorg/jruby/RubyThread;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.RubyThread getFiberCurrentThread();
    descriptor: ()Lorg/jruby/RubyThread;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 356
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.thread:Lorg/jruby/RubyThread;
            invokevirtual org.jruby.RubyThread.getFiberCurrentThread:()Lorg/jruby/RubyThread;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.util.RubyDateFormatter getRubyDateFormatter();
    descriptor: ()Lorg/jruby/util/RubyDateFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 360
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.dateFormatter:Lorg/jruby/util/RubyDateFormatter;
            ifnonnull 2
         1: .line 361
            aload 0 /* this */
            new org.jruby.util.RubyDateFormatter
            dup
            aload 0 /* this */
            invokespecial org.jruby.util.RubyDateFormatter.<init>:(Lorg/jruby/runtime/ThreadContext;)V
            putfield org.jruby.runtime.ThreadContext.dateFormatter:Lorg/jruby/util/RubyDateFormatter;
         2: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.dateFormatter:Lorg/jruby/util/RubyDateFormatter;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/runtime/ThreadContext;

  public void setThread(org.jruby.RubyThread);
    descriptor: (Lorg/jruby/RubyThread;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.RubyThread thread
         0: .line 366
            aload 0 /* this */
            aload 1 /* thread */
            putfield org.jruby.runtime.ThreadContext.thread:Lorg/jruby/RubyThread;
         1: .line 369
            aload 1 /* thread */
            ifnull 3
         2: .line 370
            aload 1 /* thread */
            aload 0 /* this */
            invokevirtual org.jruby.RubyThread.setContext:(Lorg/jruby/runtime/ThreadContext;)V
         3: .line 372
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.RubyThread thread
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/jruby/runtime/ThreadContext;
            0    4     1  thread  Lorg/jruby/RubyThread;
    MethodParameters:
        Name  Flags
      thread  

  public org.jruby.ext.fiber.ThreadFiber getFiber();
    descriptor: ()Lorg/jruby/ext/fiber/ThreadFiber;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 375
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.fiber:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast org.jruby.ext.fiber.ThreadFiber
            astore 1 /* f */
        start local 1 // org.jruby.ext.fiber.ThreadFiber f
         1: .line 377
            aload 1 /* f */
            ifnonnull 2
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.rootFiber:Lorg/jruby/ext/fiber/ThreadFiber;
            areturn
         2: .line 379
      StackMap locals: org.jruby.ext.fiber.ThreadFiber
      StackMap stack:
            aload 1 /* f */
            areturn
        end local 1 // org.jruby.ext.fiber.ThreadFiber f
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/runtime/ThreadContext;
            1    3     1     f  Lorg/jruby/ext/fiber/ThreadFiber;

  public void setFiber(org.jruby.ext.fiber.ThreadFiber);
    descriptor: (Lorg/jruby/ext/fiber/ThreadFiber;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.ext.fiber.ThreadFiber fiber
         0: .line 383
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 1 /* fiber */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield org.jruby.runtime.ThreadContext.fiber:Ljava/lang/ref/WeakReference;
         1: .line 384
            return
        end local 1 // org.jruby.ext.fiber.ThreadFiber fiber
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  fiber  Lorg/jruby/ext/fiber/ThreadFiber;
    MethodParameters:
       Name  Flags
      fiber  

  public void useRecursionGuardsFrom(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 390
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.symToGuards:Ljava/util/Map;
            putfield org.jruby.runtime.ThreadContext.symToGuards:Ljava/util/Map;
         1: .line 391
            return
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public void setRootFiber(org.jruby.ext.fiber.ThreadFiber);
    descriptor: (Lorg/jruby/ext/fiber/ThreadFiber;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.ext.fiber.ThreadFiber rootFiber
         0: .line 394
            aload 0 /* this */
            aload 1 /* rootFiber */
            putfield org.jruby.runtime.ThreadContext.rootFiber:Lorg/jruby/ext/fiber/ThreadFiber;
         1: .line 395
            return
        end local 1 // org.jruby.ext.fiber.ThreadFiber rootFiber
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  rootFiber  Lorg/jruby/ext/fiber/ThreadFiber;
    MethodParameters:
           Name  Flags
      rootFiber  

  private void expandCatchStack();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 399
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.catchStack:[Lorg/jruby/exceptions/CatchThrow;
            arraylength
            iconst_2
            imul
            istore 1 /* newSize */
        start local 1 // int newSize
         1: .line 400
            iload 1 /* newSize */
            ifne 2
            iconst_1
            istore 1 /* newSize */
         2: .line 401
      StackMap locals: int
      StackMap stack:
            iload 1 /* newSize */
            anewarray org.jruby.exceptions.CatchThrow
            astore 2 /* newCatchStack */
        start local 2 // org.jruby.exceptions.CatchThrow[] newCatchStack
         3: .line 403
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.catchStack:[Lorg/jruby/exceptions/CatchThrow;
            iconst_0
            aload 2 /* newCatchStack */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.catchStack:[Lorg/jruby/exceptions/CatchThrow;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 404
            aload 0 /* this */
            aload 2 /* newCatchStack */
            putfield org.jruby.runtime.ThreadContext.catchStack:[Lorg/jruby/exceptions/CatchThrow;
         5: .line 405
            return
        end local 2 // org.jruby.exceptions.CatchThrow[] newCatchStack
        end local 1 // int newSize
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/jruby/runtime/ThreadContext;
            1    6     1        newSize  I
            3    6     2  newCatchStack  [Lorg/jruby/exceptions/CatchThrow;

  public void pushCatch(org.jruby.RubyContinuation$Continuation);
    descriptor: (Lorg/jruby/RubyContinuation$Continuation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.RubyContinuation$Continuation catchTarget
         0: .line 409
            aload 0 /* this */
            aload 1 /* catchTarget */
            invokevirtual org.jruby.runtime.ThreadContext.pushCatch:(Lorg/jruby/exceptions/CatchThrow;)V
         1: .line 410
            return
        end local 1 // org.jruby.RubyContinuation$Continuation catchTarget
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  catchTarget  Lorg/jruby/RubyContinuation$Continuation;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
             Name  Flags
      catchTarget  

  public void pushCatch(org.jruby.exceptions.CatchThrow);
    descriptor: (Lorg/jruby/exceptions/CatchThrow;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.exceptions.CatchThrow catchTarget
         0: .line 413
            aload 0 /* this */
            dup
            getfield org.jruby.runtime.ThreadContext.catchIndex:I
            iconst_1
            iadd
            dup_x1
            putfield org.jruby.runtime.ThreadContext.catchIndex:I
            istore 2 /* index */
        start local 2 // int index
         1: .line 414
            iload 2 /* index */
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.catchStack:[Lorg/jruby/exceptions/CatchThrow;
            arraylength
            if_icmpne 3
         2: .line 415
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.expandCatchStack:()V
         3: .line 417
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.catchStack:[Lorg/jruby/exceptions/CatchThrow;
            iload 2 /* index */
            aload 1 /* catchTarget */
            aastore
         4: .line 418
            return
        end local 2 // int index
        end local 1 // org.jruby.exceptions.CatchThrow catchTarget
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/jruby/runtime/ThreadContext;
            0    5     1  catchTarget  Lorg/jruby/exceptions/CatchThrow;
            1    5     2        index  I
    MethodParameters:
             Name  Flags
      catchTarget  

  public void popCatch();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 421
            aload 0 /* this */
            dup
            getfield org.jruby.runtime.ThreadContext.catchIndex:I
            iconst_1
            isub
            putfield org.jruby.runtime.ThreadContext.catchIndex:I
         1: .line 422
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.exceptions.CatchThrow getActiveCatch(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/jruby/exceptions/CatchThrow;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // java.lang.Object tag
         0: .line 432
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.catchIndex:I
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 433
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.catchStack:[Lorg/jruby/exceptions/CatchThrow;
            iload 2 /* i */
            aaload
            astore 3 /* c */
        start local 3 // org.jruby.exceptions.CatchThrow c
         3: .line 434
            aload 3 /* c */
            getfield org.jruby.exceptions.CatchThrow.tag:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 1 /* tag */
            if_acmpne 4
            aload 3 /* c */
            areturn
        end local 3 // org.jruby.exceptions.CatchThrow c
         4: .line 432
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            ifge 2
        end local 2 // int i
         6: .line 438
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getFiber:()Lorg/jruby/ext/fiber/ThreadFiber;
            astore 2 /* fiber */
        start local 2 // org.jruby.ext.fiber.ThreadFiber fiber
         7: .line 440
            aload 2 /* fiber */
            ifnull 10
            aload 2 /* fiber */
            invokevirtual org.jruby.ext.fiber.ThreadFiber.getData:()Lorg/jruby/ext/fiber/ThreadFiber$FiberData;
            invokevirtual org.jruby.ext.fiber.ThreadFiber$FiberData.getPrev:()Lorg/jruby/ext/fiber/ThreadFiber;
            dup
            astore 3 /* prev */
        start local 3 // org.jruby.ext.fiber.ThreadFiber prev
         8: ifnull 10
         9: .line 441
            aload 3 /* prev */
            invokevirtual org.jruby.ext.fiber.ThreadFiber.getThread:()Lorg/jruby/RubyThread;
            invokevirtual org.jruby.RubyThread.getContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* tag */
            invokevirtual org.jruby.runtime.ThreadContext.getActiveCatch:(Ljava/lang/Object;)Lorg/jruby/exceptions/CatchThrow;
            areturn
        end local 3 // org.jruby.ext.fiber.ThreadFiber prev
        10: .line 444
      StackMap locals: org.jruby.runtime.ThreadContext java.lang.Object org.jruby.ext.fiber.ThreadFiber
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.jruby.ext.fiber.ThreadFiber fiber
        end local 1 // java.lang.Object tag
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/jruby/runtime/ThreadContext;
            0   11     1    tag  Ljava/lang/Object;
            1    6     2      i  I
            3    4     3      c  Lorg/jruby/exceptions/CatchThrow;
            7   11     2  fiber  Lorg/jruby/ext/fiber/ThreadFiber;
            8   10     3   prev  Lorg/jruby/ext/fiber/ThreadFiber;
    MethodParameters:
      Name  Flags
      tag   

  private org.jruby.runtime.Frame pushFrame(org.jruby.runtime.Frame);
    descriptor: (Lorg/jruby/runtime/Frame;)Lorg/jruby/runtime/Frame;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.Frame frame
         0: .line 450
            aload 0 /* this */
            dup
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            iconst_1
            iadd
            dup_x1
            putfield org.jruby.runtime.ThreadContext.frameIndex:I
            istore 2 /* index */
        start local 2 // int index
         1: .line 451
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            astore 3 /* stack */
        start local 3 // org.jruby.runtime.Frame[] stack
         2: .line 452
            aload 3 /* stack */
            iload 2 /* index */
            aload 1 /* frame */
            aastore
         3: .line 453
            iload 2 /* index */
            iconst_1
            iadd
            aload 3 /* stack */
            arraylength
            if_icmpne 5
         4: .line 454
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.expandFrameStack:()V
         5: .line 456
      StackMap locals: int org.jruby.runtime.Frame[]
      StackMap stack:
            aload 1 /* frame */
            areturn
        end local 3 // org.jruby.runtime.Frame[] stack
        end local 2 // int index
        end local 1 // org.jruby.runtime.Frame frame
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/jruby/runtime/ThreadContext;
            0    6     1  frame  Lorg/jruby/runtime/Frame;
            1    6     2  index  I
            2    6     3  stack  [Lorg/jruby/runtime/Frame;
    MethodParameters:
       Name  Flags
      frame  

  public void pushEvalSimpleFrame(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.builtin.IRubyObject executeObject
         0: .line 460
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            astore 2 /* frame */
        start local 2 // org.jruby.runtime.Frame frame
         1: .line 461
            aload 0 /* this */
            aload 2 /* frame */
            invokevirtual org.jruby.runtime.Frame.getKlazz:()Lorg/jruby/RubyModule;
            aload 2 /* frame */
            invokevirtual org.jruby.runtime.Frame.getName:()Ljava/lang/String;
            aload 1 /* executeObject */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.runtime.ThreadContext.pushCallFrame:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
         2: .line 462
            return
        end local 2 // org.jruby.runtime.Frame frame
        end local 1 // org.jruby.runtime.builtin.IRubyObject executeObject
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/jruby/runtime/ThreadContext;
            0    3     1  executeObject  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     2          frame  Lorg/jruby/runtime/Frame;
    MethodParameters:
               Name  Flags
      executeObject  

  private void pushCallFrame(org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.RubyModule clazz
        start local 2 // java.lang.String name
        start local 3 // org.jruby.runtime.builtin.IRubyObject self
        start local 4 // org.jruby.runtime.Block block
         0: .line 466
            aload 0 /* this */
            dup
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            iconst_1
            iadd
            dup_x1
            putfield org.jruby.runtime.ThreadContext.frameIndex:I
            istore 5 /* index */
        start local 5 // int index
         1: .line 467
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            astore 6 /* stack */
        start local 6 // org.jruby.runtime.Frame[] stack
         2: .line 468
            aload 6 /* stack */
            iload 5 /* index */
            aaload
            aload 1 /* clazz */
            aload 3 /* self */
            aload 2 /* name */
            aload 4 /* block */
            invokevirtual org.jruby.runtime.Frame.updateFrame:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;)V
         3: .line 469
            iload 5 /* index */
            iconst_1
            iadd
            aload 6 /* stack */
            arraylength
            if_icmpne 5
         4: .line 470
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.expandFrameStack:()V
         5: .line 472
      StackMap locals: int org.jruby.runtime.Frame[]
      StackMap stack:
            return
        end local 6 // org.jruby.runtime.Frame[] stack
        end local 5 // int index
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject self
        end local 2 // java.lang.String name
        end local 1 // org.jruby.RubyModule clazz
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/jruby/runtime/ThreadContext;
            0    6     1  clazz  Lorg/jruby/RubyModule;
            0    6     2   name  Ljava/lang/String;
            0    6     3   self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     4  block  Lorg/jruby/runtime/Block;
            1    6     5  index  I
            2    6     6  stack  [Lorg/jruby/runtime/Frame;
    MethodParameters:
       Name  Flags
      clazz  
      name   
      self   
      block  

  private void pushCallFrame(org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Visibility, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/Block;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.RubyModule clazz
        start local 2 // java.lang.String name
        start local 3 // org.jruby.runtime.builtin.IRubyObject self
        start local 4 // org.jruby.runtime.Visibility visibility
        start local 5 // org.jruby.runtime.Block block
         0: .line 476
            aload 0 /* this */
            dup
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            iconst_1
            iadd
            dup_x1
            putfield org.jruby.runtime.ThreadContext.frameIndex:I
            istore 6 /* index */
        start local 6 // int index
         1: .line 477
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            astore 7 /* stack */
        start local 7 // org.jruby.runtime.Frame[] stack
         2: .line 478
            aload 7 /* stack */
            iload 6 /* index */
            aaload
            aload 1 /* clazz */
            aload 3 /* self */
            aload 2 /* name */
            aload 4 /* visibility */
            aload 5 /* block */
            invokevirtual org.jruby.runtime.Frame.updateFrame:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/Block;)V
         3: .line 479
            iload 6 /* index */
            iconst_1
            iadd
            aload 7 /* stack */
            arraylength
            if_icmpne 5
         4: .line 480
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.expandFrameStack:()V
         5: .line 482
      StackMap locals: int org.jruby.runtime.Frame[]
      StackMap stack:
            return
        end local 7 // org.jruby.runtime.Frame[] stack
        end local 6 // int index
        end local 5 // org.jruby.runtime.Block block
        end local 4 // org.jruby.runtime.Visibility visibility
        end local 3 // org.jruby.runtime.builtin.IRubyObject self
        end local 2 // java.lang.String name
        end local 1 // org.jruby.RubyModule clazz
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/jruby/runtime/ThreadContext;
            0    6     1       clazz  Lorg/jruby/RubyModule;
            0    6     2        name  Ljava/lang/String;
            0    6     3        self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     4  visibility  Lorg/jruby/runtime/Visibility;
            0    6     5       block  Lorg/jruby/runtime/Block;
            1    6     6       index  I
            2    6     7       stack  [Lorg/jruby/runtime/Frame;
    MethodParameters:
            Name  Flags
      clazz       
      name        
      self        
      visibility  
      block       

  private void pushBackrefFrame();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 485
            aload 0 /* this */
            dup
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            iconst_1
            iadd
            dup_x1
            putfield org.jruby.runtime.ThreadContext.frameIndex:I
            istore 1 /* index */
        start local 1 // int index
         1: .line 486
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            astore 2 /* stack */
        start local 2 // org.jruby.runtime.Frame[] stack
         2: .line 487
            aload 2 /* stack */
            iload 1 /* index */
            aaload
            invokevirtual org.jruby.runtime.Frame.updateFrameForBackref:()V
         3: .line 488
            iload 1 /* index */
            iconst_1
            iadd
            aload 2 /* stack */
            arraylength
            if_icmpne 5
         4: .line 489
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.expandFrameStack:()V
         5: .line 491
      StackMap locals: int org.jruby.runtime.Frame[]
      StackMap stack:
            return
        end local 2 // org.jruby.runtime.Frame[] stack
        end local 1 // int index
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/jruby/runtime/ThreadContext;
            1    6     1  index  I
            2    6     2  stack  [Lorg/jruby/runtime/Frame;

  private void popBackrefFrame();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 494
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            astore 1 /* stack */
        start local 1 // org.jruby.runtime.Frame[] stack
         1: .line 495
            aload 0 /* this */
            dup
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            dup_x1
            iconst_1
            isub
            putfield org.jruby.runtime.ThreadContext.frameIndex:I
            istore 2 /* index */
        start local 2 // int index
         2: .line 496
            aload 1 /* stack */
            iload 2 /* index */
            aaload
            astore 3 /* frame */
        start local 3 // org.jruby.runtime.Frame frame
         3: .line 499
            aload 3 /* frame */
            invokevirtual org.jruby.runtime.Frame.isCaptured:()Z
            ifeq 6
         4: .line 500
            aload 1 /* stack */
            iload 2 /* index */
            new org.jruby.runtime.Frame
            dup
            invokespecial org.jruby.runtime.Frame.<init>:()V
            aastore
         5: .line 501
            goto 7
         6: .line 502
      StackMap locals: org.jruby.runtime.Frame[] int org.jruby.runtime.Frame
      StackMap stack:
            aload 3 /* frame */
            invokevirtual org.jruby.runtime.Frame.clearFrameForBackref:()V
         7: .line 504
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.jruby.runtime.Frame frame
        end local 2 // int index
        end local 1 // org.jruby.runtime.Frame[] stack
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/jruby/runtime/ThreadContext;
            1    8     1  stack  [Lorg/jruby/runtime/Frame;
            2    8     2  index  I
            3    8     3  frame  Lorg/jruby/runtime/Frame;

  private void pushEvalFrame(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 507
            aload 0 /* this */
            dup
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            iconst_1
            iadd
            dup_x1
            putfield org.jruby.runtime.ThreadContext.frameIndex:I
            istore 2 /* index */
        start local 2 // int index
         1: .line 508
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            astore 3 /* stack */
        start local 3 // org.jruby.runtime.Frame[] stack
         2: .line 509
            aload 3 /* stack */
            iload 2 /* index */
            aaload
            aload 1 /* self */
            invokevirtual org.jruby.runtime.Frame.updateFrameForEval:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         3: .line 510
            iload 2 /* index */
            iconst_1
            iadd
            aload 3 /* stack */
            arraylength
            if_icmpne 5
         4: .line 511
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.expandFrameStack:()V
         5: .line 513
      StackMap locals: int org.jruby.runtime.Frame[]
      StackMap stack:
            return
        end local 3 // org.jruby.runtime.Frame[] stack
        end local 2 // int index
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/jruby/runtime/ThreadContext;
            0    6     1   self  Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     2  index  I
            2    6     3  stack  [Lorg/jruby/runtime/Frame;
    MethodParameters:
      Name  Flags
      self  

  public void pushFrame();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 516
            aload 0 /* this */
            dup
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            iconst_1
            iadd
            dup_x1
            putfield org.jruby.runtime.ThreadContext.frameIndex:I
            istore 1 /* index */
        start local 1 // int index
         1: .line 517
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            astore 2 /* stack */
        start local 2 // org.jruby.runtime.Frame[] stack
         2: .line 518
            iload 1 /* index */
            iconst_1
            iadd
            aload 2 /* stack */
            arraylength
            if_icmpne 4
         3: .line 519
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.expandFrameStack:()V
         4: .line 521
      StackMap locals: int org.jruby.runtime.Frame[]
      StackMap stack:
            return
        end local 2 // org.jruby.runtime.Frame[] stack
        end local 1 // int index
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/jruby/runtime/ThreadContext;
            1    5     1  index  I
            2    5     2  stack  [Lorg/jruby/runtime/Frame;

  public void popFrame();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 524
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            astore 1 /* stack */
        start local 1 // org.jruby.runtime.Frame[] stack
         1: .line 525
            aload 0 /* this */
            dup
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            dup_x1
            iconst_1
            isub
            putfield org.jruby.runtime.ThreadContext.frameIndex:I
            istore 2 /* index */
        start local 2 // int index
         2: .line 526
            aload 1 /* stack */
            iload 2 /* index */
            aaload
            astore 3 /* frame */
        start local 3 // org.jruby.runtime.Frame frame
         3: .line 529
            aload 3 /* frame */
            getfield org.jruby.runtime.Frame.captured:Z
            ifeq 6
         4: .line 530
            aload 1 /* stack */
            iload 2 /* index */
            new org.jruby.runtime.Frame
            dup
            invokespecial org.jruby.runtime.Frame.<init>:()V
            aastore
         5: .line 531
            goto 7
         6: .line 532
      StackMap locals: org.jruby.runtime.Frame[] int org.jruby.runtime.Frame
      StackMap stack:
            aload 3 /* frame */
            invokevirtual org.jruby.runtime.Frame.clear:()Lorg/jruby/runtime/Frame;
            pop
         7: .line 534
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.jruby.runtime.Frame frame
        end local 2 // int index
        end local 1 // org.jruby.runtime.Frame[] stack
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/jruby/runtime/ThreadContext;
            1    8     1  stack  [Lorg/jruby/runtime/Frame;
            2    8     2  index  I
            3    8     3  frame  Lorg/jruby/runtime/Frame;

  private void popFrameReal(org.jruby.runtime.Frame);
    descriptor: (Lorg/jruby/runtime/Frame;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.Frame oldFrame
         0: .line 537
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            aload 0 /* this */
            dup
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            dup_x1
            iconst_1
            isub
            putfield org.jruby.runtime.ThreadContext.frameIndex:I
            aload 1 /* oldFrame */
            aastore
         1: .line 538
            return
        end local 1 // org.jruby.runtime.Frame oldFrame
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  oldFrame  Lorg/jruby/runtime/Frame;
    MethodParameters:
          Name  Flags
      oldFrame  

  public org.jruby.runtime.Frame getCurrentFrame();
    descriptor: ()Lorg/jruby/runtime/Frame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 541
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            aaload
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.runtime.Frame getNextFrame();
    descriptor: ()Lorg/jruby/runtime/Frame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 545
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            istore 1 /* index */
        start local 1 // int index
         1: .line 546
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            astore 2 /* stack */
        start local 2 // org.jruby.runtime.Frame[] stack
         2: .line 547
            iload 1 /* index */
            iconst_1
            iadd
            aload 2 /* stack */
            arraylength
            if_icmpne 4
         3: .line 548
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.expandFrameStack:()V
         4: .line 550
      StackMap locals: int org.jruby.runtime.Frame[]
      StackMap stack:
            aload 2 /* stack */
            iload 1 /* index */
            iconst_1
            iadd
            aaload
            areturn
        end local 2 // org.jruby.runtime.Frame[] stack
        end local 1 // int index
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/jruby/runtime/ThreadContext;
            1    5     1  index  I
            2    5     2  stack  [Lorg/jruby/runtime/Frame;

  public org.jruby.runtime.Frame getPreviousFrame();
    descriptor: ()Lorg/jruby/runtime/Frame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 554
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            istore 1 /* index */
        start local 1 // int index
         1: .line 555
            iload 1 /* index */
            iconst_1
            if_icmpge 2
            aconst_null
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            iload 1 /* index */
            iconst_1
            isub
            aaload
      StackMap locals:
      StackMap stack: org.jruby.runtime.Frame
         3: areturn
        end local 1 // int index
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/runtime/ThreadContext;
            1    4     1  index  I

  public org.jruby.runtime.builtin.IRubyObject setBackRef(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.builtin.IRubyObject match
         0: .line 565
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            aload 1 /* match */
            invokevirtual org.jruby.runtime.Frame.setBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject match
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/runtime/ThreadContext;
            0    1     1  match  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      match  

  public org.jruby.runtime.builtin.IRubyObject getBackRef();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 574
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            aaload
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Frame.getBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.runtime.builtin.IRubyObject last_match();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 581
            iconst_0
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            aaload
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Frame.getBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyRegexp.nth_match:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.runtime.builtin.IRubyObject match_pre();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 588
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            aaload
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Frame.getBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyRegexp.match_pre:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.runtime.builtin.IRubyObject match_post();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 596
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            aaload
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Frame.getBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyRegexp.match_post:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.runtime.builtin.IRubyObject match_last();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 603
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameStack:[Lorg/jruby/runtime/Frame;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.frameIndex:I
            aaload
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Frame.getBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyRegexp.match_last:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.runtime.builtin.IRubyObject setLastLine(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.builtin.IRubyObject last
         0: .line 613
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            aload 1 /* last */
            invokevirtual org.jruby.runtime.Frame.setLastLine:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject last
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;
            0    1     1  last  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      last  

  public org.jruby.runtime.builtin.IRubyObject getLastLine();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 622
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Frame.getLastLine:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  private static void expandBacktraceStack(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 628
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            arraylength
            iconst_2
            imul
            istore 1 /* newSize */
        start local 1 // int newSize
         1: .line 629
            aload 0 /* context */
            aload 0 /* context */
            iload 1 /* newSize */
            anewarray org.jruby.runtime.backtrace.BacktraceElement
            iload 1 /* newSize */
            invokestatic org.jruby.runtime.ThreadContext.fillNewBacktrace:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/backtrace/BacktraceElement;I)[Lorg/jruby/runtime/backtrace/BacktraceElement;
            putfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
         2: .line 630
            return
        end local 1 // int newSize
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  context  Lorg/jruby/runtime/ThreadContext;
            1    3     1  newSize  I
    MethodParameters:
         Name  Flags
      context  

  private static org.jruby.runtime.backtrace.BacktraceElement[] fillNewBacktrace(org.jruby.runtime.ThreadContext, org.jruby.runtime.backtrace.BacktraceElement[], int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/backtrace/BacktraceElement;I)[Lorg/jruby/runtime/backtrace/BacktraceElement;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.backtrace.BacktraceElement[] newBacktrace
        start local 2 // int newSize
         0: .line 633
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            iconst_0
            aload 1 /* newBacktrace */
            iconst_0
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 635
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            arraylength
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 636
      StackMap locals: int
      StackMap stack:
            aload 1 /* newBacktrace */
            iload 3 /* i */
            new org.jruby.runtime.backtrace.BacktraceElement
            dup
            invokespecial org.jruby.runtime.backtrace.BacktraceElement.<init>:()V
            aastore
         4: .line 635
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 2 /* newSize */
            if_icmplt 3
        end local 3 // int i
         6: .line 639
            aload 1 /* newBacktrace */
            areturn
        end local 2 // int newSize
        end local 1 // org.jruby.runtime.backtrace.BacktraceElement[] newBacktrace
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0       context  Lorg/jruby/runtime/ThreadContext;
            0    7     1  newBacktrace  [Lorg/jruby/runtime/backtrace/BacktraceElement;
            0    7     2       newSize  I
            2    6     3             i  I
    MethodParameters:
              Name  Flags
      context       
      newBacktrace  
      newSize       

  public static void pushBacktrace(org.jruby.runtime.ThreadContext, java.lang.String, java.lang.String, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/String;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // java.lang.String method
        start local 2 // java.lang.String file
        start local 3 // int line
         0: .line 643
            aload 0 /* context */
            dup
            getfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            iconst_1
            iadd
            dup_x1
            putfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            istore 4 /* index */
        start local 4 // int index
         1: .line 644
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            astore 5 /* stack */
        start local 5 // org.jruby.runtime.backtrace.BacktraceElement[] stack
         2: .line 645
            aload 5 /* stack */
            iload 4 /* index */
            aaload
            aload 1 /* method */
            aload 2 /* file */
            iload 3 /* line */
            invokestatic org.jruby.runtime.backtrace.BacktraceElement.update:(Lorg/jruby/runtime/backtrace/BacktraceElement;Ljava/lang/String;Ljava/lang/String;I)V
         3: .line 646
            iload 4 /* index */
            iconst_1
            iadd
            aload 5 /* stack */
            arraylength
            if_icmpne 5
         4: .line 647
            aload 0 /* context */
            invokestatic org.jruby.runtime.ThreadContext.expandBacktraceStack:(Lorg/jruby/runtime/ThreadContext;)V
         5: .line 649
      StackMap locals: int org.jruby.runtime.backtrace.BacktraceElement[]
      StackMap stack:
            return
        end local 5 // org.jruby.runtime.backtrace.BacktraceElement[] stack
        end local 4 // int index
        end local 3 // int line
        end local 2 // java.lang.String file
        end local 1 // java.lang.String method
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  context  Lorg/jruby/runtime/ThreadContext;
            0    6     1   method  Ljava/lang/String;
            0    6     2     file  Ljava/lang/String;
            0    6     3     line  I
            1    6     4    index  I
            2    6     5    stack  [Lorg/jruby/runtime/backtrace/BacktraceElement;
    MethodParameters:
         Name  Flags
      context  
      method   
      file     
      line     

  public static void popBacktrace(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 652
            aload 0 /* context */
            dup
            getfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            iconst_1
            isub
            putfield org.jruby.runtime.ThreadContext.backtraceIndex:I
         1: .line 653
            return
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public boolean hasAnyScopes();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 656
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.scopeIndex:I
            iconst_m1
            if_icmple 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

  public boolean scopeExistsOnCallStack(org.jruby.runtime.DynamicScope);
    descriptor: (Lorg/jruby/runtime/DynamicScope;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.DynamicScope scope
         0: .line 667
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.scopeStack:[Lorg/jruby/runtime/DynamicScope;
            astore 2 /* stack */
        start local 2 // org.jruby.runtime.DynamicScope[] stack
         1: .line 668
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.scopeIndex:I
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 669
      StackMap locals: org.jruby.runtime.DynamicScope[] int
      StackMap stack:
            aload 2 /* stack */
            iload 3 /* i */
            aaload
            aload 1 /* scope */
            if_acmpne 4
            iconst_1
            ireturn
         4: .line 668
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            ifge 3
        end local 3 // int i
         6: .line 671
            iconst_0
            ireturn
        end local 2 // org.jruby.runtime.DynamicScope[] stack
        end local 1 // org.jruby.runtime.DynamicScope scope
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/jruby/runtime/ThreadContext;
            0    7     1  scope  Lorg/jruby/runtime/DynamicScope;
            1    7     2  stack  [Lorg/jruby/runtime/DynamicScope;
            2    6     3      i  I
    MethodParameters:
       Name  Flags
      scope  

  public java.lang.String getFrameName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 675
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            invokevirtual org.jruby.runtime.Frame.getName:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.runtime.builtin.IRubyObject getFrameSelf();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 679
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            invokevirtual org.jruby.runtime.Frame.getSelf:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.RubyModule getFrameKlazz();
    descriptor: ()Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 683
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            invokevirtual org.jruby.runtime.Frame.getKlazz:()Lorg/jruby/RubyModule;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.runtime.Block getFrameBlock();
    descriptor: ()Lorg/jruby/runtime/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 687
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            invokevirtual org.jruby.runtime.Frame.getBlock:()Lorg/jruby/runtime/Block;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public java.lang.String getFile();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 691
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            aaload
            getfield org.jruby.runtime.backtrace.BacktraceElement.filename:Ljava/lang/String;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public int getLine();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 695
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            aaload
            getfield org.jruby.runtime.backtrace.BacktraceElement.line:I
            ireturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public void setLine(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // int line
         0: .line 699
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            aaload
            iload 1 /* line */
            putfield org.jruby.runtime.backtrace.BacktraceElement.line:I
         1: .line 700
            return
        end local 1 // int line
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public void setFileAndLine(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // java.lang.String file
        start local 2 // int line
         0: .line 703
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            aaload
            astore 3 /* b */
        start local 3 // org.jruby.runtime.backtrace.BacktraceElement b
         1: .line 704
            aload 3 /* b */
            aload 1 /* file */
            putfield org.jruby.runtime.backtrace.BacktraceElement.filename:Ljava/lang/String;
         2: .line 705
            aload 3 /* b */
            iload 2 /* line */
            putfield org.jruby.runtime.backtrace.BacktraceElement.line:I
         3: .line 706
            return
        end local 3 // org.jruby.runtime.backtrace.BacktraceElement b
        end local 2 // int line
        end local 1 // java.lang.String file
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/runtime/ThreadContext;
            0    4     1  file  Ljava/lang/String;
            0    4     2  line  I
            1    4     3     b  Lorg/jruby/runtime/backtrace/BacktraceElement;
    MethodParameters:
      Name  Flags
      file  
      line  

  public void setFileAndLine(org.jruby.lexer.yacc.ISourcePosition);
    descriptor: (Lorg/jruby/lexer/yacc/ISourcePosition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.lexer.yacc.ISourcePosition position
         0: .line 709
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            aaload
            astore 2 /* b */
        start local 2 // org.jruby.runtime.backtrace.BacktraceElement b
         1: .line 710
            aload 2 /* b */
            aload 1 /* position */
            invokeinterface org.jruby.lexer.yacc.ISourcePosition.getFile:()Ljava/lang/String;
            putfield org.jruby.runtime.backtrace.BacktraceElement.filename:Ljava/lang/String;
         2: .line 711
            aload 2 /* b */
            aload 1 /* position */
            invokeinterface org.jruby.lexer.yacc.ISourcePosition.getLine:()I
            putfield org.jruby.runtime.backtrace.BacktraceElement.line:I
         3: .line 712
            return
        end local 2 // org.jruby.runtime.backtrace.BacktraceElement b
        end local 1 // org.jruby.lexer.yacc.ISourcePosition position
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jruby/runtime/ThreadContext;
            0    4     1  position  Lorg/jruby/lexer/yacc/ISourcePosition;
            1    4     2         b  Lorg/jruby/runtime/backtrace/BacktraceElement;
    MethodParameters:
          Name  Flags
      position  

  public org.jruby.runtime.Visibility getCurrentVisibility();
    descriptor: ()Lorg/jruby/runtime/Visibility;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 715
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            invokevirtual org.jruby.runtime.Frame.getVisibility:()Lorg/jruby/runtime/Visibility;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public void setCurrentVisibility(org.jruby.runtime.Visibility);
    descriptor: (Lorg/jruby/runtime/Visibility;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.Visibility visibility
         0: .line 719
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            aload 1 /* visibility */
            invokevirtual org.jruby.runtime.Frame.setVisibility:(Lorg/jruby/runtime/Visibility;)V
         1: .line 720
            return
        end local 1 // org.jruby.runtime.Visibility visibility
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  visibility  Lorg/jruby/runtime/Visibility;
    MethodParameters:
            Name  Flags
      visibility  

  public void pollThreadEvents();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 723
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.thread:Lorg/jruby/RubyThread;
            aload 0 /* this */
            invokevirtual org.jruby.RubyThread.pollThreadEvents:(Lorg/jruby/runtime/ThreadContext;)V
         1: .line 724
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

  public int getCurrentTarget();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 729
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.callNumber:I
            ireturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public void callThreadPoll();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 733
            aload 0 /* this */
            dup
            getfield org.jruby.runtime.ThreadContext.callNumber:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.runtime.ThreadContext.callNumber:I
            sipush 4095
            iand
            ifne 1
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.pollThreadEvents:()V
         1: .line 734
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

  public static void callThreadPoll(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 737
            aload 0 /* context */
            dup
            getfield org.jruby.runtime.ThreadContext.callNumber:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.runtime.ThreadContext.callNumber:I
            sipush 4095
            iand
            ifne 1
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.pollThreadEvents:()V
         1: .line 738
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public void trace(org.jruby.runtime.RubyEvent, java.lang.String, org.jruby.RubyModule);
    descriptor: (Lorg/jruby/runtime/RubyEvent;Ljava/lang/String;Lorg/jruby/RubyModule;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.RubyEvent event
        start local 2 // java.lang.String name
        start local 3 // org.jruby.RubyModule implClass
         0: .line 741
            aload 0 /* this */
            aload 1 /* event */
            aload 2 /* name */
            aload 3 /* implClass */
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            aaload
            getfield org.jruby.runtime.backtrace.BacktraceElement.filename:Ljava/lang/String;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            aaload
            getfield org.jruby.runtime.backtrace.BacktraceElement.line:I
            iconst_1
            iadd
            invokevirtual org.jruby.runtime.ThreadContext.trace:(Lorg/jruby/runtime/RubyEvent;Ljava/lang/String;Lorg/jruby/RubyModule;Ljava/lang/String;I)V
         1: .line 742
            return
        end local 3 // org.jruby.RubyModule implClass
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.RubyEvent event
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/runtime/ThreadContext;
            0    2     1      event  Lorg/jruby/runtime/RubyEvent;
            0    2     2       name  Ljava/lang/String;
            0    2     3  implClass  Lorg/jruby/RubyModule;
    MethodParameters:
           Name  Flags
      event      
      name       
      implClass  

  public void trace(org.jruby.runtime.RubyEvent, java.lang.String, org.jruby.RubyModule, java.lang.String, int);
    descriptor: (Lorg/jruby/runtime/RubyEvent;Ljava/lang/String;Lorg/jruby/RubyModule;Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.RubyEvent event
        start local 2 // java.lang.String name
        start local 3 // org.jruby.RubyModule implClass
        start local 4 // java.lang.String file
        start local 5 // int line
         0: .line 745
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 1 /* event */
            aload 4 /* file */
            iload 5 /* line */
            aload 2 /* name */
            aload 3 /* implClass */
            invokevirtual org.jruby.Ruby.callEventHooks:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/RubyEvent;Ljava/lang/String;ILjava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
         1: .line 746
            return
        end local 5 // int line
        end local 4 // java.lang.String file
        end local 3 // org.jruby.RubyModule implClass
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.RubyEvent event
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/runtime/ThreadContext;
            0    2     1      event  Lorg/jruby/runtime/RubyEvent;
            0    2     2       name  Ljava/lang/String;
            0    2     3  implClass  Lorg/jruby/RubyModule;
            0    2     4       file  Ljava/lang/String;
            0    2     5       line  I
    MethodParameters:
           Name  Flags
      event      
      name       
      implClass  
      file       
      line       

  public org.jruby.runtime.builtin.IRubyObject getConstant(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // java.lang.String internedName
         0: .line 753
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentStaticScope:()Lorg/jruby/parser/StaticScope;
            aload 1 /* internedName */
            invokevirtual org.jruby.parser.StaticScope.getConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // java.lang.String internedName
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/jruby/runtime/ThreadContext;
            0    1     1  internedName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      internedName  

  public void renderCurrentBacktrace(java.lang.StringBuilder);
    descriptor: (Ljava/lang/StringBuilder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // java.lang.StringBuilder sb
         0: .line 763
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getInstanceConfig:()Lorg/jruby/RubyInstanceConfig;
            invokevirtual org.jruby.RubyInstanceConfig.getTraceType:()Lorg/jruby/runtime/backtrace/TraceType;
            astore 2 /* traceType */
        start local 2 // org.jruby.runtime.backtrace.TraceType traceType
         1: .line 764
            aload 2 /* traceType */
            aload 0 /* this */
            invokevirtual org.jruby.runtime.backtrace.TraceType.getBacktrace:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/backtrace/BacktraceData;
            astore 3 /* backtraceData */
        start local 3 // org.jruby.runtime.backtrace.BacktraceData backtraceData
         2: .line 765
            aload 2 /* traceType */
            invokevirtual org.jruby.runtime.backtrace.TraceType.getFormat:()Lorg/jruby/runtime/backtrace/TraceType$Format;
            aload 3 /* backtraceData */
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.runtime.backtrace.BacktraceData.getBacktrace:(Lorg/jruby/Ruby;)[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            aload 1 /* sb */
            iconst_0
            invokevirtual org.jruby.runtime.backtrace.TraceType$Format.renderBacktrace:([Lorg/jruby/runtime/backtrace/RubyStackTraceElement;Ljava/lang/StringBuilder;Z)V
         3: .line 766
            return
        end local 3 // org.jruby.runtime.backtrace.BacktraceData backtraceData
        end local 2 // org.jruby.runtime.backtrace.TraceType traceType
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/jruby/runtime/ThreadContext;
            0    4     1             sb  Ljava/lang/StringBuilder;
            1    4     2      traceType  Lorg/jruby/runtime/backtrace/TraceType;
            2    4     3  backtraceData  Lorg/jruby/runtime/backtrace/BacktraceData;
    MethodParameters:
      Name  Flags
      sb    

  public org.jruby.runtime.builtin.IRubyObject createCallerBacktrace(int, int, java.util.stream.Stream<com.headius.backport9.stack.StackWalker$StackFrame>);
    descriptor: (IILjava/util/stream/Stream;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // int level
        start local 2 // int length
        start local 3 // java.util.stream.Stream stackStream
         0: .line 778
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.incrementCallerCount:()V
         1: .line 780
            aload 0 /* this */
            iload 1 /* level */
            iload 2 /* length */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* stackStream */
            invokevirtual org.jruby.runtime.ThreadContext.getPartialTrace:(ILjava/lang/Integer;Ljava/util/stream/Stream;)[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            astore 4 /* fullTrace */
        start local 4 // org.jruby.runtime.backtrace.RubyStackTraceElement[] fullTrace
         2: .line 782
            iload 1 /* level */
            iload 2 /* length */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 4 /* fullTrace */
            invokestatic org.jruby.runtime.ThreadContext.safeLength:(ILjava/lang/Integer;[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;)I
            istore 5 /* traceLength */
        start local 5 // int traceLength
         3: .line 785
            iload 5 /* traceLength */
            ifge 4
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newEmptyArray:()Lorg/jruby/RubyArray;
            areturn
         4: .line 787
      StackMap locals: org.jruby.runtime.backtrace.RubyStackTraceElement[] int
      StackMap stack:
            iload 5 /* traceLength */
            anewarray org.jruby.runtime.builtin.IRubyObject
            astore 6 /* traceArray */
        start local 6 // org.jruby.runtime.builtin.IRubyObject[] traceArray
         5: .line 789
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 9
         7: .line 790
      StackMap locals: org.jruby.runtime.builtin.IRubyObject[] int
      StackMap stack:
            aload 6 /* traceArray */
            iload 7 /* i */
            aload 0 /* this */
            aload 4 /* fullTrace */
            iload 7 /* i */
            iload 1 /* level */
            iadd
            aaload
            invokestatic org.jruby.runtime.backtrace.RubyStackTraceElement.to_s_mri:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/backtrace/RubyStackTraceElement;)Lorg/jruby/RubyString;
            aastore
         8: .line 789
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 7 /* i */
            iload 5 /* traceLength */
            if_icmplt 7
        end local 7 // int i
        10: .line 793
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 6 /* traceArray */
            invokestatic org.jruby.RubyArray.newArrayMayCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            astore 7 /* backTrace */
        start local 7 // org.jruby.RubyArray backTrace
        11: .line 794
            getstatic org.jruby.RubyInstanceConfig.LOG_CALLERS:Z
            ifeq 12
            aload 7 /* backTrace */
            invokestatic org.jruby.runtime.backtrace.TraceType.logCaller:(Lorg/jruby/RubyArray;)V
        12: .line 795
      StackMap locals: org.jruby.runtime.ThreadContext int int java.util.stream.Stream org.jruby.runtime.backtrace.RubyStackTraceElement[] int org.jruby.runtime.builtin.IRubyObject[] org.jruby.RubyArray
      StackMap stack:
            aload 7 /* backTrace */
            areturn
        end local 7 // org.jruby.RubyArray backTrace
        end local 6 // org.jruby.runtime.builtin.IRubyObject[] traceArray
        end local 5 // int traceLength
        end local 4 // org.jruby.runtime.backtrace.RubyStackTraceElement[] fullTrace
        end local 3 // java.util.stream.Stream stackStream
        end local 2 // int length
        end local 1 // int level
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lorg/jruby/runtime/ThreadContext;
            0   13     1        level  I
            0   13     2       length  I
            0   13     3  stackStream  Ljava/util/stream/Stream<Lcom/headius/backport9/stack/StackWalker$StackFrame;>;
            2   13     4    fullTrace  [Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            3   13     5  traceLength  I
            5   13     6   traceArray  [Lorg/jruby/runtime/builtin/IRubyObject;
            6   10     7            i  I
           11   13     7    backTrace  Lorg/jruby/RubyArray;
    Signature: (IILjava/util/stream/Stream<Lcom/headius/backport9/stack/StackWalker$StackFrame;>;)Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
             Name  Flags
      level        
      length       
      stackStream  

  public org.jruby.runtime.builtin.IRubyObject createCallerLocations(int, java.lang.Integer, java.util.stream.Stream<com.headius.backport9.stack.StackWalker$StackFrame>);
    descriptor: (ILjava/lang/Integer;Ljava/util/stream/Stream;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // int level
        start local 2 // java.lang.Integer length
        start local 3 // java.util.stream.Stream stackStream
         0: .line 807
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.incrementCallerCount:()V
         1: .line 809
            aload 0 /* this */
            iload 1 /* level */
            aload 2 /* length */
            aload 3 /* stackStream */
            invokevirtual org.jruby.runtime.ThreadContext.getPartialTrace:(ILjava/lang/Integer;Ljava/util/stream/Stream;)[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            astore 4 /* fullTrace */
        start local 4 // org.jruby.runtime.backtrace.RubyStackTraceElement[] fullTrace
         2: .line 811
            iload 1 /* level */
            aload 2 /* length */
            aload 4 /* fullTrace */
            invokestatic org.jruby.runtime.ThreadContext.safeLength:(ILjava/lang/Integer;[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;)I
            istore 5 /* traceLength */
        start local 5 // int traceLength
         3: .line 814
            iload 5 /* traceLength */
            ifge 4
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newEmptyArray:()Lorg/jruby/RubyArray;
            areturn
         4: .line 816
      StackMap locals: org.jruby.runtime.backtrace.RubyStackTraceElement[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 4 /* fullTrace */
            iload 1 /* level */
            iload 5 /* traceLength */
            invokestatic org.jruby.RubyThread$Location.newLocationArray:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;II)Lorg/jruby/RubyArray;
            astore 6 /* backTrace */
        start local 6 // org.jruby.RubyArray backTrace
         5: .line 817
            getstatic org.jruby.RubyInstanceConfig.LOG_CALLERS:Z
            ifeq 6
            aload 6 /* backTrace */
            invokestatic org.jruby.runtime.backtrace.TraceType.logCaller:(Lorg/jruby/RubyArray;)V
         6: .line 818
      StackMap locals: org.jruby.RubyArray
      StackMap stack:
            aload 6 /* backTrace */
            areturn
        end local 6 // org.jruby.RubyArray backTrace
        end local 5 // int traceLength
        end local 4 // org.jruby.runtime.backtrace.RubyStackTraceElement[] fullTrace
        end local 3 // java.util.stream.Stream stackStream
        end local 2 // java.lang.Integer length
        end local 1 // int level
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/jruby/runtime/ThreadContext;
            0    7     1        level  I
            0    7     2       length  Ljava/lang/Integer;
            0    7     3  stackStream  Ljava/util/stream/Stream<Lcom/headius/backport9/stack/StackWalker$StackFrame;>;
            2    7     4    fullTrace  [Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            3    7     5  traceLength  I
            5    7     6    backTrace  Lorg/jruby/RubyArray;
    Signature: (ILjava/lang/Integer;Ljava/util/stream/Stream<Lcom/headius/backport9/stack/StackWalker$StackFrame;>;)Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
             Name  Flags
      level        
      length       
      stackStream  

  private org.jruby.runtime.backtrace.RubyStackTraceElement[] getFullTrace(java.lang.Integer, java.util.stream.Stream<com.headius.backport9.stack.StackWalker$StackFrame>);
    descriptor: (Ljava/lang/Integer;Ljava/util/stream/Stream;)[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // java.lang.Integer length
        start local 2 // java.util.stream.Stream stackStream
         0: .line 822
            aload 1 /* length */
            ifnull 1
            aload 1 /* length */
            invokevirtual java.lang.Integer.intValue:()I
            ifne 1
            getstatic org.jruby.runtime.backtrace.RubyStackTraceElement.EMPTY_ARRAY:[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            areturn
         1: .line 823
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.runtime.backtrace.TraceType$Gather.CALLER:Lorg/jruby/runtime/backtrace/TraceType$Gather;
            aload 0 /* this */
            aload 2 /* stackStream */
            invokevirtual org.jruby.runtime.backtrace.TraceType$Gather.getBacktraceData:(Lorg/jruby/runtime/ThreadContext;Ljava/util/stream/Stream;)Lorg/jruby/runtime/backtrace/BacktraceData;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.runtime.backtrace.BacktraceData.getBacktrace:(Lorg/jruby/Ruby;)[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            areturn
        end local 2 // java.util.stream.Stream stackStream
        end local 1 // java.lang.Integer length
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/jruby/runtime/ThreadContext;
            0    2     1       length  Ljava/lang/Integer;
            0    2     2  stackStream  Ljava/util/stream/Stream<Lcom/headius/backport9/stack/StackWalker$StackFrame;>;
    Signature: (Ljava/lang/Integer;Ljava/util/stream/Stream<Lcom/headius/backport9/stack/StackWalker$StackFrame;>;)[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
    MethodParameters:
             Name  Flags
      length       
      stackStream  

  private org.jruby.runtime.backtrace.RubyStackTraceElement[] getPartialTrace(int, java.lang.Integer, java.util.stream.Stream<com.headius.backport9.stack.StackWalker$StackFrame>);
    descriptor: (ILjava/lang/Integer;Ljava/util/stream/Stream;)[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // int level
        start local 2 // java.lang.Integer length
        start local 3 // java.util.stream.Stream stackStream
         0: .line 827
            aload 2 /* length */
            ifnull 1
            aload 2 /* length */
            invokevirtual java.lang.Integer.intValue:()I
            ifne 1
            getstatic org.jruby.runtime.backtrace.RubyStackTraceElement.EMPTY_ARRAY:[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            areturn
         1: .line 828
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.runtime.backtrace.TraceType$Gather.CALLER:Lorg/jruby/runtime/backtrace/TraceType$Gather;
            aload 0 /* this */
            aload 3 /* stackStream */
            invokevirtual org.jruby.runtime.backtrace.TraceType$Gather.getBacktraceData:(Lorg/jruby/runtime/ThreadContext;Ljava/util/stream/Stream;)Lorg/jruby/runtime/backtrace/BacktraceData;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 1 /* level */
            aload 2 /* length */
            invokevirtual java.lang.Integer.intValue:()I
            iadd
            invokevirtual org.jruby.runtime.backtrace.BacktraceData.getPartialBacktrace:(Lorg/jruby/Ruby;I)[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            areturn
        end local 3 // java.util.stream.Stream stackStream
        end local 2 // java.lang.Integer length
        end local 1 // int level
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/jruby/runtime/ThreadContext;
            0    2     1        level  I
            0    2     2       length  Ljava/lang/Integer;
            0    2     3  stackStream  Ljava/util/stream/Stream<Lcom/headius/backport9/stack/StackWalker$StackFrame;>;
    Signature: (ILjava/lang/Integer;Ljava/util/stream/Stream<Lcom/headius/backport9/stack/StackWalker$StackFrame;>;)[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
    MethodParameters:
             Name  Flags
      level        
      length       
      stackStream  

  private static int safeLength(int, java.lang.Integer, org.jruby.runtime.backtrace.RubyStackTraceElement[]);
    descriptor: (ILjava/lang/Integer;[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // int level
        start local 1 // java.lang.Integer length
        start local 2 // org.jruby.runtime.backtrace.RubyStackTraceElement[] trace
         0: .line 832
            aload 2 /* trace */
            arraylength
            iload 0 /* level */
            isub
            istore 3 /* baseLength */
        start local 3 // int baseLength
         1: .line 833
            aload 1 /* length */
            invokevirtual java.lang.Integer.intValue:()I
            iload 3 /* baseLength */
            invokestatic java.lang.Math.min:(II)I
            ireturn
        end local 3 // int baseLength
        end local 2 // org.jruby.runtime.backtrace.RubyStackTraceElement[] trace
        end local 1 // java.lang.Integer length
        end local 0 // int level
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0       level  I
            0    2     1      length  Ljava/lang/Integer;
            0    2     2       trace  [Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            1    2     3  baseLength  I
    MethodParameters:
        Name  Flags
      level   
      length  
      trace   

  public org.jruby.runtime.backtrace.RubyStackTraceElement getSingleBacktrace(int);
    descriptor: (I)Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // int level
         0: .line 844
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.incrementWarningCount:()V
         1: .line 846
            getstatic org.jruby.runtime.ThreadContext.WALKER:Lcom/headius/backport9/stack/StackWalker;
            aload 0 /* this */
            iload 1 /* level */
            invokedynamic apply(Lorg/jruby/runtime/ThreadContext;I)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/jruby/runtime/ThreadContext.lambda$0(ILjava/util/stream/Stream;)[Lorg/jruby/runtime/backtrace/RubyStackTraceElement; (7)
                  (Ljava/util/stream/Stream;)[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            invokeinterface com.headius.backport9.stack.StackWalker.walk:(Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast org.jruby.runtime.backtrace.RubyStackTraceElement[]
            astore 2 /* trace */
        start local 2 // org.jruby.runtime.backtrace.RubyStackTraceElement[] trace
         2: .line 848
            getstatic org.jruby.RubyInstanceConfig.LOG_WARNINGS:Z
            ifeq 3
            aload 2 /* trace */
            invokestatic org.jruby.runtime.backtrace.TraceType.logWarning:([Lorg/jruby/runtime/backtrace/RubyStackTraceElement;)V
         3: .line 850
      StackMap locals: org.jruby.runtime.backtrace.RubyStackTraceElement[]
      StackMap stack:
            aload 2 /* trace */
            arraylength
            ifne 4
            aconst_null
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 2 /* trace */
            aload 2 /* trace */
            arraylength
            iconst_1
            isub
            aaload
      StackMap locals:
      StackMap stack: org.jruby.runtime.backtrace.RubyStackTraceElement
         5: areturn
        end local 2 // org.jruby.runtime.backtrace.RubyStackTraceElement[] trace
        end local 1 // int level
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/jruby/runtime/ThreadContext;
            0    6     1  level  I
            2    6     2  trace  [Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
    MethodParameters:
       Name  Flags
      level  

  public org.jruby.runtime.backtrace.RubyStackTraceElement getSingleBacktrace();
    descriptor: ()Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 859
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.runtime.ThreadContext.getSingleBacktrace:(I)Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

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

  public void setEventHooksEnabled(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // boolean flag
         0: .line 867
            aload 0 /* this */
            iload 1 /* flag */
            putfield org.jruby.runtime.ThreadContext.eventHooksEnabled:Z
         1: .line 868
            return
        end local 1 // boolean flag
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  flag  Z
    MethodParameters:
      Name  Flags
      flag  

  public java.util.stream.Stream<org.jruby.runtime.backtrace.BacktraceElement> getBacktrace();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 875
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.runtime.ThreadContext.getBacktrace:(I)Ljava/util/stream/Stream;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;
    Signature: ()Ljava/util/stream/Stream<Lorg/jruby/runtime/backtrace/BacktraceElement;>;

  public final java.util.stream.Stream<org.jruby.runtime.backtrace.BacktraceElement> getBacktrace(int);
    descriptor: (I)Ljava/util/stream/Stream;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // int level
         0: .line 879
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            istore 2 /* backtraceIndex */
        start local 2 // int backtraceIndex
         1: .line 880
            iload 1 /* level */
            ifge 2
            iload 2 /* backtraceIndex */
            iconst_1
            iadd
            iload 1 /* level */
            iadd
            istore 1 /* level */
         2: .line 881
      StackMap locals: int
      StackMap stack:
            iload 2 /* backtraceIndex */
            iload 1 /* level */
            isub
            istore 3 /* end */
        start local 3 // int end
         3: .line 882
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            astore 4 /* backtrace */
        start local 4 // org.jruby.runtime.backtrace.BacktraceElement[] backtrace
         4: .line 883
            iconst_0
            iload 3 /* end */
            invokestatic java.util.stream.IntStream.rangeClosed:(II)Ljava/util/stream/IntStream;
            aload 4 /* backtrace */
            iload 2 /* backtraceIndex */
            invokedynamic apply([Lorg/jruby/runtime/backtrace/BacktraceElement;I)Ljava/util/function/IntFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (I)Ljava/lang/Object;
                  org/jruby/runtime/ThreadContext.lambda$1([Lorg/jruby/runtime/backtrace/BacktraceElement;II)Lorg/jruby/runtime/backtrace/BacktraceElement; (6)
                  (I)Lorg/jruby/runtime/backtrace/BacktraceElement;
            invokeinterface java.util.stream.IntStream.mapToObj:(Ljava/util/function/IntFunction;)Ljava/util/stream/Stream;
            areturn
        end local 4 // org.jruby.runtime.backtrace.BacktraceElement[] backtrace
        end local 3 // int end
        end local 2 // int backtraceIndex
        end local 1 // int level
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/jruby/runtime/ThreadContext;
            0    5     1           level  I
            1    5     2  backtraceIndex  I
            3    5     3             end  I
            4    5     4       backtrace  [Lorg/jruby/runtime/backtrace/BacktraceElement;
    Signature: (I)Ljava/util/stream/Stream<Lorg/jruby/runtime/backtrace/BacktraceElement;>;
    MethodParameters:
       Name  Flags
      level  

  public static java.lang.String createRawBacktraceStringFromThrowable(java.lang.Throwable, boolean);
    descriptor: (Ljava/lang/Throwable;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Throwable ex
        start local 1 // boolean color
         0: .line 887
            getstatic org.jruby.runtime.ThreadContext.WALKER:Lcom/headius/backport9/stack/StackWalker;
            aload 0 /* ex */
            invokevirtual java.lang.Throwable.getStackTrace:()[Ljava/lang/StackTraceElement;
            aload 0 /* ex */
            iload 1 /* color */
            invokedynamic apply(Ljava/lang/Throwable;Z)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/jruby/runtime/ThreadContext.lambda$2(Ljava/lang/Throwable;ZLjava/util/stream/Stream;)Ljava/lang/String; (6)
                  (Ljava/util/stream/Stream;)Ljava/lang/String;
            invokeinterface com.headius.backport9.stack.StackWalker.walk:([Ljava/lang/StackTraceElement;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // boolean color
        end local 0 // java.lang.Throwable ex
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0     ex  Ljava/lang/Throwable;
            0    1     1  color  Z
    MethodParameters:
       Name  Flags
      ex     final
      color  final

  private org.jruby.runtime.Frame pushFrameForBlock(org.jruby.runtime.Binding);
    descriptor: (Lorg/jruby/runtime/Binding;)Lorg/jruby/runtime/Frame;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.Binding binding
         0: .line 896
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getNextFrame:()Lorg/jruby/runtime/Frame;
            astore 2 /* lastFrame */
        start local 2 // org.jruby.runtime.Frame lastFrame
         1: .line 898
            aload 1 /* binding */
            invokevirtual org.jruby.runtime.Binding.getFrame:()Lorg/jruby/runtime/Frame;
            astore 3 /* bindingFrame */
        start local 3 // org.jruby.runtime.Frame bindingFrame
         2: .line 899
            aload 3 /* bindingFrame */
            aload 1 /* binding */
            invokevirtual org.jruby.runtime.Binding.getVisibility:()Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.runtime.Frame.setVisibility:(Lorg/jruby/runtime/Visibility;)V
         3: .line 900
            aload 0 /* this */
            aload 3 /* bindingFrame */
            invokevirtual org.jruby.runtime.ThreadContext.pushFrame:(Lorg/jruby/runtime/Frame;)Lorg/jruby/runtime/Frame;
            pop
         4: .line 902
            aload 2 /* lastFrame */
            areturn
        end local 3 // org.jruby.runtime.Frame bindingFrame
        end local 2 // org.jruby.runtime.Frame lastFrame
        end local 1 // org.jruby.runtime.Binding binding
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/jruby/runtime/ThreadContext;
            0    5     1       binding  Lorg/jruby/runtime/Binding;
            1    5     2     lastFrame  Lorg/jruby/runtime/Frame;
            2    5     3  bindingFrame  Lorg/jruby/runtime/Frame;
    MethodParameters:
         Name  Flags
      binding  

  public void preAdoptThread();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 906
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.pushFrame:()V
         1: .line 907
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getTopSelf:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Frame.setSelf:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 908
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/runtime/ThreadContext;

  public void preExtensionLoad(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 911
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.pushFrame:()V
         1: .line 912
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            aload 1 /* self */
            invokevirtual org.jruby.runtime.Frame.setSelf:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 913
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.runtime.Frame.setVisibility:(Lorg/jruby/runtime/Visibility;)V
         3: .line 914
            return
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/runtime/ThreadContext;
            0    4     1  self  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      self  

  public void preBsfApply(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // java.lang.String[] names
         0: .line 918
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getStaticScopeFactory:()Lorg/jruby/parser/StaticScopeFactory;
            aconst_null
            invokevirtual org.jruby.parser.StaticScopeFactory.newLocalScope:(Lorg/jruby/parser/StaticScope;)Lorg/jruby/parser/StaticScope;
            astore 2 /* staticScope */
        start local 2 // org.jruby.parser.StaticScope staticScope
         1: .line 919
            aload 2 /* staticScope */
            aload 1 /* names */
            invokevirtual org.jruby.parser.StaticScope.setVariables:([Ljava/lang/String;)V
         2: .line 920
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.pushFrame:()V
         3: .line 921
            return
        end local 2 // org.jruby.parser.StaticScope staticScope
        end local 1 // java.lang.String[] names
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/jruby/runtime/ThreadContext;
            0    4     1        names  [Ljava/lang/String;
            1    4     2  staticScope  Lorg/jruby/parser/StaticScope;
    MethodParameters:
       Name  Flags
      names  

  public void postBsfApply();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 924
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.popFrame:()V
         1: .line 925
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

  public void preMethodFrameAndScope(org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, org.jruby.parser.StaticScope);
    descriptor: (Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/parser/StaticScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.RubyModule clazz
        start local 2 // java.lang.String name
        start local 3 // org.jruby.runtime.builtin.IRubyObject self
        start local 4 // org.jruby.runtime.Block block
        start local 5 // org.jruby.parser.StaticScope staticScope
         0: .line 929
            aload 0 /* this */
            aload 1 /* clazz */
            aload 2 /* name */
            aload 3 /* self */
            aload 4 /* block */
            invokevirtual org.jruby.runtime.ThreadContext.pushCallFrame:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
         1: .line 930
            aload 0 /* this */
            aload 5 /* staticScope */
            invokestatic org.jruby.runtime.DynamicScope.newDynamicScope:(Lorg/jruby/parser/StaticScope;)Lorg/jruby/runtime/DynamicScope;
            invokevirtual org.jruby.runtime.ThreadContext.pushScope:(Lorg/jruby/runtime/DynamicScope;)V
         2: .line 931
            return
        end local 5 // org.jruby.parser.StaticScope staticScope
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject self
        end local 2 // java.lang.String name
        end local 1 // org.jruby.RubyModule clazz
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/jruby/runtime/ThreadContext;
            0    3     1        clazz  Lorg/jruby/RubyModule;
            0    3     2         name  Ljava/lang/String;
            0    3     3         self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     4        block  Lorg/jruby/runtime/Block;
            0    3     5  staticScope  Lorg/jruby/parser/StaticScope;
    MethodParameters:
             Name  Flags
      clazz        
      name         
      self         
      block        
      staticScope  

  public void preMethodFrameAndDummyScope(org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, org.jruby.parser.StaticScope);
    descriptor: (Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/parser/StaticScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.RubyModule clazz
        start local 2 // java.lang.String name
        start local 3 // org.jruby.runtime.builtin.IRubyObject self
        start local 4 // org.jruby.runtime.Block block
        start local 5 // org.jruby.parser.StaticScope staticScope
         0: .line 935
            aload 0 /* this */
            aload 1 /* clazz */
            aload 2 /* name */
            aload 3 /* self */
            aload 4 /* block */
            invokevirtual org.jruby.runtime.ThreadContext.pushCallFrame:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
         1: .line 936
            aload 0 /* this */
            aload 5 /* staticScope */
            invokevirtual org.jruby.parser.StaticScope.getDummyScope:()Lorg/jruby/runtime/DynamicScope;
            invokevirtual org.jruby.runtime.ThreadContext.pushScope:(Lorg/jruby/runtime/DynamicScope;)V
         2: .line 937
            return
        end local 5 // org.jruby.parser.StaticScope staticScope
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject self
        end local 2 // java.lang.String name
        end local 1 // org.jruby.RubyModule clazz
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/jruby/runtime/ThreadContext;
            0    3     1        clazz  Lorg/jruby/RubyModule;
            0    3     2         name  Ljava/lang/String;
            0    3     3         self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     4        block  Lorg/jruby/runtime/Block;
            0    3     5  staticScope  Lorg/jruby/parser/StaticScope;
    MethodParameters:
             Name  Flags
      clazz        
      name         
      self         
      block        
      staticScope  

  public void preMethodNoFrameAndDummyScope(org.jruby.parser.StaticScope);
    descriptor: (Lorg/jruby/parser/StaticScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.parser.StaticScope staticScope
         0: .line 940
            aload 0 /* this */
            aload 1 /* staticScope */
            invokevirtual org.jruby.parser.StaticScope.getDummyScope:()Lorg/jruby/runtime/DynamicScope;
            invokevirtual org.jruby.runtime.ThreadContext.pushScope:(Lorg/jruby/runtime/DynamicScope;)V
         1: .line 941
            return
        end local 1 // org.jruby.parser.StaticScope staticScope
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  staticScope  Lorg/jruby/parser/StaticScope;
    MethodParameters:
             Name  Flags
      staticScope  

  public void postMethodFrameAndScope();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 944
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.popScope:()V
         1: .line 945
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.popFrame:()V
         2: .line 946
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/runtime/ThreadContext;

  public void preMethodFrameOnly(org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.RubyModule clazz
        start local 2 // java.lang.String name
        start local 3 // org.jruby.runtime.builtin.IRubyObject self
        start local 4 // org.jruby.runtime.Block block
         0: .line 949
            aload 0 /* this */
            aload 1 /* clazz */
            aload 2 /* name */
            aload 3 /* self */
            aload 4 /* block */
            invokevirtual org.jruby.runtime.ThreadContext.pushCallFrame:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
         1: .line 950
            return
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject self
        end local 2 // java.lang.String name
        end local 1 // org.jruby.RubyModule clazz
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  clazz  Lorg/jruby/RubyModule;
            0    2     2   name  Ljava/lang/String;
            0    2     3   self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     4  block  Lorg/jruby/runtime/Block;
    MethodParameters:
       Name  Flags
      clazz  
      name   
      self   
      block  

  public void preMethodFrameOnly(org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Visibility, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/Block;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.RubyModule clazz
        start local 2 // java.lang.String name
        start local 3 // org.jruby.runtime.builtin.IRubyObject self
        start local 4 // org.jruby.runtime.Visibility visiblity
        start local 5 // org.jruby.runtime.Block block
         0: .line 953
            aload 0 /* this */
            aload 1 /* clazz */
            aload 2 /* name */
            aload 3 /* self */
            aload 4 /* visiblity */
            aload 5 /* block */
            invokevirtual org.jruby.runtime.ThreadContext.pushCallFrame:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/Block;)V
         1: .line 954
            return
        end local 5 // org.jruby.runtime.Block block
        end local 4 // org.jruby.runtime.Visibility visiblity
        end local 3 // org.jruby.runtime.builtin.IRubyObject self
        end local 2 // java.lang.String name
        end local 1 // org.jruby.RubyModule clazz
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/runtime/ThreadContext;
            0    2     1      clazz  Lorg/jruby/RubyModule;
            0    2     2       name  Ljava/lang/String;
            0    2     3       self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     4  visiblity  Lorg/jruby/runtime/Visibility;
            0    2     5      block  Lorg/jruby/runtime/Block;
    MethodParameters:
           Name  Flags
      clazz      
      name       
      self       
      visiblity  
      block      

  public void preMethodFrameOnly(org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.RubyModule clazz
        start local 2 // java.lang.String name
        start local 3 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 957
            aload 0 /* this */
            aload 1 /* clazz */
            aload 2 /* name */
            aload 3 /* self */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.runtime.ThreadContext.pushCallFrame:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
         1: .line 958
            return
        end local 3 // org.jruby.runtime.builtin.IRubyObject self
        end local 2 // java.lang.String name
        end local 1 // org.jruby.RubyModule clazz
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  clazz  Lorg/jruby/RubyModule;
            0    2     2   name  Ljava/lang/String;
            0    2     3   self  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      clazz  
      name   
      self   

  public void preBackrefMethod();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 961
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.pushBackrefFrame:()V
         1: .line 962
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

  public void postMethodFrameOnly();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 965
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.popFrame:()V
         1: .line 966
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

  public void postBackrefMethod();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 969
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.popBackrefFrame:()V
         1: .line 970
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

  public void preMethodScopeOnly(org.jruby.parser.StaticScope);
    descriptor: (Lorg/jruby/parser/StaticScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.parser.StaticScope staticScope
         0: .line 973
            aload 0 /* this */
            aload 1 /* staticScope */
            invokestatic org.jruby.runtime.DynamicScope.newDynamicScope:(Lorg/jruby/parser/StaticScope;)Lorg/jruby/runtime/DynamicScope;
            invokevirtual org.jruby.runtime.ThreadContext.pushScope:(Lorg/jruby/runtime/DynamicScope;)V
         1: .line 974
            return
        end local 1 // org.jruby.parser.StaticScope staticScope
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  staticScope  Lorg/jruby/parser/StaticScope;
    MethodParameters:
             Name  Flags
      staticScope  

  public void postMethodScopeOnly();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 977
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.popScope:()V
         1: .line 978
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

  public void preMethodBacktraceAndScope(java.lang.String, org.jruby.parser.StaticScope);
    descriptor: (Ljava/lang/String;Lorg/jruby/parser/StaticScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.parser.StaticScope staticScope
         0: .line 981
            aload 0 /* this */
            aload 2 /* staticScope */
            invokevirtual org.jruby.runtime.ThreadContext.preMethodScopeOnly:(Lorg/jruby/parser/StaticScope;)V
         1: .line 982
            return
        end local 2 // org.jruby.parser.StaticScope staticScope
        end local 1 // java.lang.String name
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/jruby/runtime/ThreadContext;
            0    2     1         name  Ljava/lang/String;
            0    2     2  staticScope  Lorg/jruby/parser/StaticScope;
    MethodParameters:
             Name  Flags
      name         
      staticScope  

  public void postMethodBacktraceAndScope();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 985
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.postMethodScopeOnly:()V
         1: .line 986
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

  public void preMethodBacktraceOnly(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // java.lang.String name
         0: .line 989
            return
        end local 1 // java.lang.String name
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void preMethodBacktraceDummyScope(java.lang.String, org.jruby.parser.StaticScope);
    descriptor: (Ljava/lang/String;Lorg/jruby/parser/StaticScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.parser.StaticScope staticScope
         0: .line 992
            aload 0 /* this */
            aload 2 /* staticScope */
            invokevirtual org.jruby.parser.StaticScope.getDummyScope:()Lorg/jruby/runtime/DynamicScope;
            invokevirtual org.jruby.runtime.ThreadContext.pushScope:(Lorg/jruby/runtime/DynamicScope;)V
         1: .line 993
            return
        end local 2 // org.jruby.parser.StaticScope staticScope
        end local 1 // java.lang.String name
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/jruby/runtime/ThreadContext;
            0    2     1         name  Ljava/lang/String;
            0    2     2  staticScope  Lorg/jruby/parser/StaticScope;
    MethodParameters:
             Name  Flags
      name         
      staticScope  

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

  public void postMethodBacktraceDummyScope();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 999
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.popScope:()V
         1: .line 1000
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

  public void prepareTopLevel(org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.RubyClass objectClass
        start local 2 // org.jruby.runtime.builtin.IRubyObject topSelf
         0: .line 1003
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.pushFrame:()V
         1: .line 1004
            aload 0 /* this */
            getstatic org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.runtime.ThreadContext.setCurrentVisibility:(Lorg/jruby/runtime/Visibility;)V
         2: .line 1005
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            astore 3 /* frame */
        start local 3 // org.jruby.runtime.Frame frame
         3: .line 1006
            aload 3 /* frame */
            aload 2 /* topSelf */
            invokevirtual org.jruby.runtime.Frame.setSelf:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         4: .line 1008
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentStaticScope:()Lorg/jruby/parser/StaticScope;
            aload 1 /* objectClass */
            invokevirtual org.jruby.parser.StaticScope.setModule:(Lorg/jruby/RubyModule;)V
         5: .line 1009
            return
        end local 3 // org.jruby.runtime.Frame frame
        end local 2 // org.jruby.runtime.builtin.IRubyObject topSelf
        end local 1 // org.jruby.RubyClass objectClass
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/jruby/runtime/ThreadContext;
            0    6     1  objectClass  Lorg/jruby/RubyClass;
            0    6     2      topSelf  Lorg/jruby/runtime/builtin/IRubyObject;
            3    6     3        frame  Lorg/jruby/runtime/Frame;
    MethodParameters:
             Name  Flags
      objectClass  
      topSelf      

  public void preNodeEval(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 1012
            aload 0 /* this */
            aload 1 /* self */
            invokevirtual org.jruby.runtime.ThreadContext.pushEvalFrame:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         1: .line 1013
            return
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  self  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      self  

  public void postNodeEval();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 1016
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.popFrame:()V
         1: .line 1017
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

  public void preExecuteUnder(org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Lorg/jruby/runtime/Block;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.builtin.IRubyObject executeUnderObj
        start local 2 // org.jruby.RubyModule executeUnderClass
        start local 3 // org.jruby.runtime.Block block
         0: .line 1020
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            astore 4 /* frame */
        start local 4 // org.jruby.runtime.Frame frame
         1: .line 1022
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentScope:()Lorg/jruby/runtime/DynamicScope;
            astore 5 /* scope */
        start local 5 // org.jruby.runtime.DynamicScope scope
         2: .line 1023
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getStaticScopeFactory:()Lorg/jruby/parser/StaticScopeFactory;
            aload 5 /* scope */
            invokevirtual org.jruby.runtime.DynamicScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
            invokevirtual org.jruby.parser.StaticScopeFactory.newBlockScope:(Lorg/jruby/parser/StaticScope;)Lorg/jruby/parser/StaticScope;
            astore 6 /* sScope */
        start local 6 // org.jruby.parser.StaticScope sScope
         3: .line 1024
            aload 6 /* sScope */
            aload 2 /* executeUnderClass */
            invokevirtual org.jruby.parser.StaticScope.setModule:(Lorg/jruby/RubyModule;)V
         4: .line 1025
            aload 0 /* this */
            aload 6 /* sScope */
            aload 5 /* scope */
            invokestatic org.jruby.runtime.DynamicScope.newDynamicScope:(Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;)Lorg/jruby/runtime/DynamicScope;
            invokevirtual org.jruby.runtime.ThreadContext.pushScope:(Lorg/jruby/runtime/DynamicScope;)V
         5: .line 1026
            aload 0 /* this */
            aload 4 /* frame */
            invokevirtual org.jruby.runtime.Frame.getKlazz:()Lorg/jruby/RubyModule;
            aload 4 /* frame */
            invokevirtual org.jruby.runtime.Frame.getName:()Ljava/lang/String;
            aload 1 /* executeUnderObj */
            aload 3 /* block */
            invokevirtual org.jruby.runtime.ThreadContext.pushCallFrame:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
         6: .line 1027
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getPreviousFrame:()Lorg/jruby/runtime/Frame;
            invokevirtual org.jruby.runtime.Frame.getVisibility:()Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.runtime.Frame.setVisibility:(Lorg/jruby/runtime/Visibility;)V
         7: .line 1028
            return
        end local 6 // org.jruby.parser.StaticScope sScope
        end local 5 // org.jruby.runtime.DynamicScope scope
        end local 4 // org.jruby.runtime.Frame frame
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.RubyModule executeUnderClass
        end local 1 // org.jruby.runtime.builtin.IRubyObject executeUnderObj
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lorg/jruby/runtime/ThreadContext;
            0    8     1    executeUnderObj  Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     2  executeUnderClass  Lorg/jruby/RubyModule;
            0    8     3              block  Lorg/jruby/runtime/Block;
            1    8     4              frame  Lorg/jruby/runtime/Frame;
            2    8     5              scope  Lorg/jruby/runtime/DynamicScope;
            3    8     6             sScope  Lorg/jruby/parser/StaticScope;
    MethodParameters:
                   Name  Flags
      executeUnderObj    
      executeUnderClass  
      block              

  public void postExecuteUnder();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 1031
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.popFrame:()V
         1: .line 1032
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.popScope:()V
         2: .line 1033
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/runtime/ThreadContext;

  public void preTrace();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 1036
            aload 0 /* this */
            iconst_1
            invokevirtual org.jruby.runtime.ThreadContext.setWithinTrace:(Z)V
         1: .line 1037
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.pushFrame:()V
         2: .line 1038
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/runtime/ThreadContext;

  public void postTrace();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 1041
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.popFrame:()V
         1: .line 1042
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.runtime.ThreadContext.setWithinTrace:(Z)V
         2: .line 1043
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.runtime.Frame preYieldSpecificBlock(org.jruby.runtime.Binding, org.jruby.parser.StaticScope);
    descriptor: (Lorg/jruby/runtime/Binding;Lorg/jruby/parser/StaticScope;)Lorg/jruby/runtime/Frame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.Binding binding
        start local 2 // org.jruby.parser.StaticScope scope
         0: .line 1046
            aload 0 /* this */
            aload 1 /* binding */
            invokevirtual org.jruby.runtime.ThreadContext.preYieldNoScope:(Lorg/jruby/runtime/Binding;)Lorg/jruby/runtime/Frame;
            astore 3 /* lastFrame */
        start local 3 // org.jruby.runtime.Frame lastFrame
         1: .line 1048
            aload 0 /* this */
            aload 2 /* scope */
            aload 1 /* binding */
            invokevirtual org.jruby.runtime.Binding.getDynamicScope:()Lorg/jruby/runtime/DynamicScope;
            invokestatic org.jruby.runtime.DynamicScope.newDynamicScope:(Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;)Lorg/jruby/runtime/DynamicScope;
            invokevirtual org.jruby.runtime.ThreadContext.pushScope:(Lorg/jruby/runtime/DynamicScope;)V
         2: .line 1049
            aload 3 /* lastFrame */
            areturn
        end local 3 // org.jruby.runtime.Frame lastFrame
        end local 2 // org.jruby.parser.StaticScope scope
        end local 1 // org.jruby.runtime.Binding binding
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/runtime/ThreadContext;
            0    3     1    binding  Lorg/jruby/runtime/Binding;
            0    3     2      scope  Lorg/jruby/parser/StaticScope;
            1    3     3  lastFrame  Lorg/jruby/runtime/Frame;
    MethodParameters:
         Name  Flags
      binding  
      scope    

  public org.jruby.runtime.Frame preYieldNoScope(org.jruby.runtime.Binding);
    descriptor: (Lorg/jruby/runtime/Binding;)Lorg/jruby/runtime/Frame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.Binding binding
         0: .line 1053
            aload 0 /* this */
            aload 1 /* binding */
            invokevirtual org.jruby.runtime.ThreadContext.pushFrameForBlock:(Lorg/jruby/runtime/Binding;)Lorg/jruby/runtime/Frame;
            areturn
        end local 1 // org.jruby.runtime.Binding binding
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/runtime/ThreadContext;
            0    1     1  binding  Lorg/jruby/runtime/Binding;
    MethodParameters:
         Name  Flags
      binding  

  public org.jruby.runtime.Frame preYieldNoScope(org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/Frame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.Block block
         0: .line 1058
            aload 0 /* this */
            aload 1 /* block */
            invokevirtual org.jruby.runtime.Block.getBinding:()Lorg/jruby/runtime/Binding;
            invokevirtual org.jruby.runtime.ThreadContext.pushFrameForBlock:(Lorg/jruby/runtime/Binding;)Lorg/jruby/runtime/Frame;
            areturn
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/runtime/ThreadContext;
            0    1     1  block  Lorg/jruby/runtime/Block;
    RuntimeInvisibleAnnotations: 
      org.jruby.ir.JIT()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        org.jruby.ir.JIT()
    MethodParameters:
       Name  Flags
      block  

  public void preEvalScriptlet(org.jruby.runtime.DynamicScope);
    descriptor: (Lorg/jruby/runtime/DynamicScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.DynamicScope scope
         0: .line 1062
            aload 0 /* this */
            aload 1 /* scope */
            invokevirtual org.jruby.runtime.ThreadContext.pushScope:(Lorg/jruby/runtime/DynamicScope;)V
         1: .line 1063
            return
        end local 1 // org.jruby.runtime.DynamicScope scope
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  scope  Lorg/jruby/runtime/DynamicScope;
    MethodParameters:
       Name  Flags
      scope  

  public void postEvalScriptlet();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 1066
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.popScope:()V
         1: .line 1067
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

  public org.jruby.runtime.Frame preEvalWithBinding(org.jruby.runtime.Binding);
    descriptor: (Lorg/jruby/runtime/Binding;)Lorg/jruby/runtime/Frame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.Binding binding
         0: .line 1070
            aload 0 /* this */
            aload 1 /* binding */
            invokevirtual org.jruby.runtime.ThreadContext.pushFrameForBlock:(Lorg/jruby/runtime/Binding;)Lorg/jruby/runtime/Frame;
            areturn
        end local 1 // org.jruby.runtime.Binding binding
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/runtime/ThreadContext;
            0    1     1  binding  Lorg/jruby/runtime/Binding;
    MethodParameters:
         Name  Flags
      binding  

  public void postEvalWithBinding(org.jruby.runtime.Binding, org.jruby.runtime.Frame);
    descriptor: (Lorg/jruby/runtime/Binding;Lorg/jruby/runtime/Frame;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.Binding binding
        start local 2 // org.jruby.runtime.Frame lastFrame
         0: .line 1074
            aload 0 /* this */
            aload 2 /* lastFrame */
            invokevirtual org.jruby.runtime.ThreadContext.popFrameReal:(Lorg/jruby/runtime/Frame;)V
         1: .line 1075
            return
        end local 2 // org.jruby.runtime.Frame lastFrame
        end local 1 // org.jruby.runtime.Binding binding
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/runtime/ThreadContext;
            0    2     1    binding  Lorg/jruby/runtime/Binding;
            0    2     2  lastFrame  Lorg/jruby/runtime/Frame;
    MethodParameters:
           Name  Flags
      binding    
      lastFrame  

  public void postYield(org.jruby.runtime.Binding, org.jruby.runtime.Frame);
    descriptor: (Lorg/jruby/runtime/Binding;Lorg/jruby/runtime/Frame;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.Binding binding
        start local 2 // org.jruby.runtime.Frame lastFrame
         0: .line 1078
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.popScope:()V
         1: .line 1079
            aload 0 /* this */
            aload 2 /* lastFrame */
            invokevirtual org.jruby.runtime.ThreadContext.popFrameReal:(Lorg/jruby/runtime/Frame;)V
         2: .line 1080
            return
        end local 2 // org.jruby.runtime.Frame lastFrame
        end local 1 // org.jruby.runtime.Binding binding
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/runtime/ThreadContext;
            0    3     1    binding  Lorg/jruby/runtime/Binding;
            0    3     2  lastFrame  Lorg/jruby/runtime/Frame;
    MethodParameters:
           Name  Flags
      binding    
      lastFrame  

  public void postYieldNoScope(org.jruby.runtime.Frame);
    descriptor: (Lorg/jruby/runtime/Frame;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.Frame lastFrame
         0: .line 1083
            aload 0 /* this */
            aload 1 /* lastFrame */
            invokevirtual org.jruby.runtime.ThreadContext.popFrameReal:(Lorg/jruby/runtime/Frame;)V
         1: .line 1084
            return
        end local 1 // org.jruby.runtime.Frame lastFrame
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  lastFrame  Lorg/jruby/runtime/Frame;
    MethodParameters:
           Name  Flags
      lastFrame  

  public void preScopedBody(org.jruby.runtime.DynamicScope);
    descriptor: (Lorg/jruby/runtime/DynamicScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.DynamicScope scope
         0: .line 1087
            aload 0 /* this */
            aload 1 /* scope */
            invokevirtual org.jruby.runtime.ThreadContext.pushScope:(Lorg/jruby/runtime/DynamicScope;)V
         1: .line 1088
            return
        end local 1 // org.jruby.runtime.DynamicScope scope
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  scope  Lorg/jruby/runtime/DynamicScope;
    MethodParameters:
       Name  Flags
      scope  

  public void postScopedBody();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 1091
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.popScope:()V
         1: .line 1092
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

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

  public void setWithinTrace(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // boolean isWithinTrace
         0: .line 1111
            aload 0 /* this */
            iload 1 /* isWithinTrace */
            putfield org.jruby.runtime.ThreadContext.isWithinTrace:Z
         1: .line 1112
            return
        end local 1 // boolean isWithinTrace
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  isWithinTrace  Z
    MethodParameters:
               Name  Flags
      isWithinTrace  

  public org.jruby.runtime.Binding currentBinding();
    descriptor: ()Lorg/jruby/runtime/Binding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 1119
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            invokevirtual org.jruby.runtime.Frame.capture:()Lorg/jruby/runtime/Frame;
            astore 1 /* frame */
        start local 1 // org.jruby.runtime.Frame frame
         1: .line 1120
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            aaload
            astore 2 /* elt */
        start local 2 // org.jruby.runtime.backtrace.BacktraceElement elt
         2: .line 1121
            new org.jruby.runtime.Binding
            dup
            aload 1 /* frame */
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentScope:()Lorg/jruby/runtime/DynamicScope;
            aload 2 /* elt */
            invokevirtual org.jruby.runtime.backtrace.BacktraceElement.getMethod:()Ljava/lang/String;
            aload 2 /* elt */
            invokevirtual org.jruby.runtime.backtrace.BacktraceElement.getFilename:()Ljava/lang/String;
            aload 2 /* elt */
            invokevirtual org.jruby.runtime.backtrace.BacktraceElement.getLine:()I
            invokespecial org.jruby.runtime.Binding.<init>:(Lorg/jruby/runtime/Frame;Lorg/jruby/runtime/DynamicScope;Ljava/lang/String;Ljava/lang/String;I)V
            areturn
        end local 2 // org.jruby.runtime.backtrace.BacktraceElement elt
        end local 1 // org.jruby.runtime.Frame frame
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/runtime/ThreadContext;
            1    3     1  frame  Lorg/jruby/runtime/Frame;
            2    3     2    elt  Lorg/jruby/runtime/backtrace/BacktraceElement;

  public org.jruby.runtime.Binding currentBinding(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/Binding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=4, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 1130
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            invokevirtual org.jruby.runtime.Frame.capture:()Lorg/jruby/runtime/Frame;
            astore 2 /* frame */
        start local 2 // org.jruby.runtime.Frame frame
         1: .line 1131
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            aaload
            astore 3 /* elt */
        start local 3 // org.jruby.runtime.backtrace.BacktraceElement elt
         2: .line 1132
            new org.jruby.runtime.Binding
            dup
            aload 1 /* self */
            aload 2 /* frame */
            aload 2 /* frame */
            invokevirtual org.jruby.runtime.Frame.getVisibility:()Lorg/jruby/runtime/Visibility;
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentScope:()Lorg/jruby/runtime/DynamicScope;
            aload 3 /* elt */
            invokevirtual org.jruby.runtime.backtrace.BacktraceElement.getMethod:()Ljava/lang/String;
            aload 3 /* elt */
            invokevirtual org.jruby.runtime.backtrace.BacktraceElement.getFilename:()Ljava/lang/String;
            aload 3 /* elt */
            invokevirtual org.jruby.runtime.backtrace.BacktraceElement.getLine:()I
            invokespecial org.jruby.runtime.Binding.<init>:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Frame;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/DynamicScope;Ljava/lang/String;Ljava/lang/String;I)V
            areturn
        end local 3 // org.jruby.runtime.backtrace.BacktraceElement elt
        end local 2 // org.jruby.runtime.Frame frame
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/runtime/ThreadContext;
            0    3     1   self  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     2  frame  Lorg/jruby/runtime/Frame;
            2    3     3    elt  Lorg/jruby/runtime/backtrace/BacktraceElement;
    MethodParameters:
      Name  Flags
      self  

  public org.jruby.runtime.Binding currentBinding(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Visibility);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;)Lorg/jruby/runtime/Binding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=5, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
        start local 2 // org.jruby.runtime.Visibility visibility
         0: .line 1143
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            invokevirtual org.jruby.runtime.Frame.capture:()Lorg/jruby/runtime/Frame;
            astore 3 /* frame */
        start local 3 // org.jruby.runtime.Frame frame
         1: .line 1144
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            aaload
            astore 4 /* elt */
        start local 4 // org.jruby.runtime.backtrace.BacktraceElement elt
         2: .line 1145
            new org.jruby.runtime.Binding
            dup
            aload 1 /* self */
            aload 3 /* frame */
            aload 2 /* visibility */
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentScope:()Lorg/jruby/runtime/DynamicScope;
            aload 4 /* elt */
            invokevirtual org.jruby.runtime.backtrace.BacktraceElement.getMethod:()Ljava/lang/String;
            aload 4 /* elt */
            invokevirtual org.jruby.runtime.backtrace.BacktraceElement.getFilename:()Ljava/lang/String;
            aload 4 /* elt */
            invokevirtual org.jruby.runtime.backtrace.BacktraceElement.getLine:()I
            invokespecial org.jruby.runtime.Binding.<init>:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Frame;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/DynamicScope;Ljava/lang/String;Ljava/lang/String;I)V
            areturn
        end local 4 // org.jruby.runtime.backtrace.BacktraceElement elt
        end local 3 // org.jruby.runtime.Frame frame
        end local 2 // org.jruby.runtime.Visibility visibility
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/jruby/runtime/ThreadContext;
            0    3     1        self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2  visibility  Lorg/jruby/runtime/Visibility;
            1    3     3       frame  Lorg/jruby/runtime/Frame;
            2    3     4         elt  Lorg/jruby/runtime/backtrace/BacktraceElement;
    MethodParameters:
            Name  Flags
      self        
      visibility  

  public org.jruby.runtime.Binding currentBinding(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.DynamicScope);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/DynamicScope;)Lorg/jruby/runtime/Binding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=5, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
        start local 2 // org.jruby.runtime.DynamicScope scope
         0: .line 1156
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            invokevirtual org.jruby.runtime.Frame.capture:()Lorg/jruby/runtime/Frame;
            astore 3 /* frame */
        start local 3 // org.jruby.runtime.Frame frame
         1: .line 1157
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            aaload
            astore 4 /* elt */
        start local 4 // org.jruby.runtime.backtrace.BacktraceElement elt
         2: .line 1158
            new org.jruby.runtime.Binding
            dup
            aload 1 /* self */
            aload 3 /* frame */
            aload 3 /* frame */
            invokevirtual org.jruby.runtime.Frame.getVisibility:()Lorg/jruby/runtime/Visibility;
            aload 2 /* scope */
            aload 4 /* elt */
            invokevirtual org.jruby.runtime.backtrace.BacktraceElement.getMethod:()Ljava/lang/String;
            aload 4 /* elt */
            invokevirtual org.jruby.runtime.backtrace.BacktraceElement.getFilename:()Ljava/lang/String;
            aload 4 /* elt */
            invokevirtual org.jruby.runtime.backtrace.BacktraceElement.getLine:()I
            invokespecial org.jruby.runtime.Binding.<init>:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Frame;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/DynamicScope;Ljava/lang/String;Ljava/lang/String;I)V
            areturn
        end local 4 // org.jruby.runtime.backtrace.BacktraceElement elt
        end local 3 // org.jruby.runtime.Frame frame
        end local 2 // org.jruby.runtime.DynamicScope scope
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/runtime/ThreadContext;
            0    3     1   self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2  scope  Lorg/jruby/runtime/DynamicScope;
            1    3     3  frame  Lorg/jruby/runtime/Frame;
            2    3     4    elt  Lorg/jruby/runtime/backtrace/BacktraceElement;
    MethodParameters:
       Name  Flags
      self   
      scope  

  public org.jruby.runtime.Binding currentBinding(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Visibility, org.jruby.runtime.DynamicScope);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/DynamicScope;)Lorg/jruby/runtime/Binding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
        start local 2 // org.jruby.runtime.Visibility visibility
        start local 3 // org.jruby.runtime.DynamicScope scope
         0: .line 1172
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getCurrentFrame:()Lorg/jruby/runtime/Frame;
            invokevirtual org.jruby.runtime.Frame.capture:()Lorg/jruby/runtime/Frame;
            astore 4 /* frame */
        start local 4 // org.jruby.runtime.Frame frame
         1: .line 1173
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            aaload
            astore 5 /* elt */
        start local 5 // org.jruby.runtime.backtrace.BacktraceElement elt
         2: .line 1174
            new org.jruby.runtime.Binding
            dup
            aload 1 /* self */
            aload 4 /* frame */
            aload 2 /* visibility */
            aload 3 /* scope */
            aload 5 /* elt */
            invokevirtual org.jruby.runtime.backtrace.BacktraceElement.getMethod:()Ljava/lang/String;
            aload 5 /* elt */
            invokevirtual org.jruby.runtime.backtrace.BacktraceElement.getFilename:()Ljava/lang/String;
            aload 5 /* elt */
            invokevirtual org.jruby.runtime.backtrace.BacktraceElement.getLine:()I
            invokespecial org.jruby.runtime.Binding.<init>:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Frame;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/DynamicScope;Ljava/lang/String;Ljava/lang/String;I)V
            areturn
        end local 5 // org.jruby.runtime.backtrace.BacktraceElement elt
        end local 4 // org.jruby.runtime.Frame frame
        end local 3 // org.jruby.runtime.DynamicScope scope
        end local 2 // org.jruby.runtime.Visibility visibility
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/jruby/runtime/ThreadContext;
            0    3     1        self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2  visibility  Lorg/jruby/runtime/Visibility;
            0    3     3       scope  Lorg/jruby/runtime/DynamicScope;
            1    3     4       frame  Lorg/jruby/runtime/Frame;
            2    3     5         elt  Lorg/jruby/runtime/backtrace/BacktraceElement;
    MethodParameters:
            Name  Flags
      self        
      visibility  
      scope       

  public org.jruby.runtime.profile.ProfileCollection getProfileCollection();
    descriptor: ()Lorg/jruby/runtime/profile/ProfileCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 1184
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.profileCollection:Lorg/jruby/runtime/profile/ProfileCollection;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;

  public void startProfiling();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 1188
            aload 0 /* this */
            iconst_1
            putfield org.jruby.runtime.ThreadContext.isProfiling:Z
         1: .line 1191
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getProfilingService:()Lorg/jruby/runtime/profile/ProfilingService;
            aload 0 /* this */
            invokeinterface org.jruby.runtime.profile.ProfilingService.newProfileCollection:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/profile/ProfileCollection;
            putfield org.jruby.runtime.ThreadContext.profileCollection:Lorg/jruby/runtime/profile/ProfileCollection;
         2: .line 1192
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/runtime/ThreadContext;

  public void stopProfiling();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 1195
            aload 0 /* this */
            iconst_0
            putfield org.jruby.runtime.ThreadContext.isProfiling:Z
         1: .line 1196
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

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

  public int profileEnter(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // int nextMethod
         0: .line 1205
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.currentMethodSerial:I
            istore 2 /* previousMethodSerial */
        start local 2 // int previousMethodSerial
         1: .line 1206
            aload 0 /* this */
            iload 1 /* nextMethod */
            putfield org.jruby.runtime.ThreadContext.currentMethodSerial:I
         2: .line 1207
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.isProfiling:()Z
            ifeq 4
         3: .line 1208
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getProfileCollection:()Lorg/jruby/runtime/profile/ProfileCollection;
            iload 1 /* nextMethod */
            i2l
            invokeinterface org.jruby.runtime.profile.ProfileCollection.profileEnter:(J)V
         4: .line 1210
      StackMap locals: int
      StackMap stack:
            iload 2 /* previousMethodSerial */
            ireturn
        end local 2 // int previousMethodSerial
        end local 1 // int nextMethod
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0                  this  Lorg/jruby/runtime/ThreadContext;
            0    5     1            nextMethod  I
            1    5     2  previousMethodSerial  I
    MethodParameters:
            Name  Flags
      nextMethod  

  public int profileEnter(java.lang.String, org.jruby.internal.runtime.methods.DynamicMethod);
    descriptor: (Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // java.lang.String name
        start local 2 // org.jruby.internal.runtime.methods.DynamicMethod nextMethod
         0: .line 1216
            aload 0 /* this */
            aload 2 /* nextMethod */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getSerialNumber:()J
            l2i
            invokevirtual org.jruby.runtime.ThreadContext.profileEnter:(I)I
            ireturn
        end local 2 // org.jruby.internal.runtime.methods.DynamicMethod nextMethod
        end local 1 // java.lang.String name
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/jruby/runtime/ThreadContext;
            0    1     1        name  Ljava/lang/String;
            0    1     2  nextMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
            Name  Flags
      name        
      nextMethod  

  public int profileExit(int, long);
    descriptor: (IJ)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // int nextMethod
        start local 2 // long startTime
         0: .line 1220
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.currentMethodSerial:I
            istore 4 /* previousMethodSerial */
        start local 4 // int previousMethodSerial
         1: .line 1221
            aload 0 /* this */
            iload 1 /* nextMethod */
            putfield org.jruby.runtime.ThreadContext.currentMethodSerial:I
         2: .line 1222
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.isProfiling:()Z
            ifeq 4
         3: .line 1223
            aload 0 /* this */
            invokevirtual org.jruby.runtime.ThreadContext.getProfileCollection:()Lorg/jruby/runtime/profile/ProfileCollection;
            iload 1 /* nextMethod */
            i2l
            lload 2 /* startTime */
            invokeinterface org.jruby.runtime.profile.ProfileCollection.profileExit:(JJ)V
         4: .line 1225
      StackMap locals: int
      StackMap stack:
            iload 4 /* previousMethodSerial */
            ireturn
        end local 4 // int previousMethodSerial
        end local 2 // long startTime
        end local 1 // int nextMethod
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0                  this  Lorg/jruby/runtime/ThreadContext;
            0    5     1            nextMethod  I
            0    5     2             startTime  J
            1    5     4  previousMethodSerial  I
    MethodParameters:
            Name  Flags
      nextMethod  
      startTime   

  public java.util.Set<org.jruby.util.RecursiveComparator$Pair> getRecursiveSet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 1229
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.recursiveSet:Ljava/util/Set;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/ThreadContext;
    Signature: ()Ljava/util/Set<Lorg/jruby/util/RecursiveComparator$Pair;>;

  public void setRecursiveSet(java.util.Set<org.jruby.util.RecursiveComparator$Pair>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // java.util.Set recursiveSet
         0: .line 1233
            aload 0 /* this */
            aload 1 /* recursiveSet */
            putfield org.jruby.runtime.ThreadContext.recursiveSet:Ljava/util/Set;
         1: .line 1234
            return
        end local 1 // java.util.Set recursiveSet
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  recursiveSet  Ljava/util/Set<Lorg/jruby/util/RecursiveComparator$Pair;>;
    Signature: (Ljava/util/Set<Lorg/jruby/util/RecursiveComparator$Pair;>;)V
    MethodParameters:
              Name  Flags
      recursiveSet  

  public void setExceptionRequiresBacktrace(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // boolean exceptionRequiresBacktrace
         0: .line 1237
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.isDebug:()Z
            ifeq 1
            return
         1: .line 1238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* exceptionRequiresBacktrace */
            putfield org.jruby.runtime.ThreadContext.exceptionRequiresBacktrace:Z
         2: .line 1239
            return
        end local 1 // boolean exceptionRequiresBacktrace
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    3     0                        this  Lorg/jruby/runtime/ThreadContext;
            0    3     1  exceptionRequiresBacktrace  Z
    MethodParameters:
                            Name  Flags
      exceptionRequiresBacktrace  

  public void exceptionBacktraceOn();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 1243
            aload 0 /* this */
            iconst_1
            invokevirtual org.jruby.runtime.ThreadContext.setExceptionRequiresBacktrace:(Z)V
         1: .line 1244
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;
    RuntimeInvisibleAnnotations: 
      org.jruby.ir.JIT()

  public void exceptionBacktraceOff();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 1248
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.runtime.ThreadContext.setExceptionRequiresBacktrace:(Z)V
         1: .line 1249
            return
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;
    RuntimeInvisibleAnnotations: 
      org.jruby.ir.JIT()

  public <T> org.jruby.runtime.builtin.IRubyObject safeRecurse(org.jruby.runtime.ThreadContext$RecursiveFunctionEx<T>, T, org.jruby.runtime.builtin.IRubyObject, java.lang.String, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.ThreadContext$RecursiveFunctionEx func
        start local 2 // java.lang.Object state
        start local 3 // org.jruby.runtime.builtin.IRubyObject obj
        start local 4 // java.lang.String name
        start local 5 // boolean outer
         0: .line 1270
            aload 0 /* this */
            aload 4 /* name */
            invokevirtual org.jruby.runtime.ThreadContext.safeRecurseGetGuards:(Ljava/lang/String;)Ljava/util/Map;
            astore 6 /* guards */
        start local 6 // java.util.Map guards
         1: .line 1272
            iload 5 /* outer */
            ifeq 2
            aload 6 /* guards */
            getstatic org.jruby.RubyBasicObject.NEVER:Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 2
            iconst_1
            goto 3
      StackMap locals: java.util.Map
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 7 /* outermost */
        start local 7 // boolean outermost
         4: .line 1275
            aload 6 /* guards */
            aload 3 /* obj */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 8
         5: .line 1276
            iload 5 /* outer */
            ifeq 7
            iload 7 /* outermost */
            ifne 7
         6: .line 1277
            new org.jruby.runtime.ThreadContext$RecursiveError
            dup
            aload 6 /* guards */
            invokespecial org.jruby.runtime.ThreadContext$RecursiveError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 1279
      StackMap locals: int
      StackMap stack:
            aload 1 /* func */
            aload 0 /* this */
            aload 2 /* state */
            aload 3 /* obj */
            iconst_1
            invokeinterface org.jruby.runtime.ThreadContext$RecursiveFunctionEx.call:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         8: .line 1281
      StackMap locals:
      StackMap stack:
            iload 7 /* outermost */
            ifeq 10
         9: .line 1282
            aload 0 /* this */
            aload 1 /* func */
            aload 2 /* state */
            aload 3 /* obj */
            aload 6 /* guards */
            invokevirtual org.jruby.runtime.ThreadContext.safeRecurseOutermost:(Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/util/Map;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        10: .line 1284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* func */
            aload 2 /* state */
            aload 3 /* obj */
            aload 6 /* guards */
            invokevirtual org.jruby.runtime.ThreadContext.safeRecurseInner:(Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/util/Map;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 7 // boolean outermost
        end local 6 // java.util.Map guards
        end local 5 // boolean outer
        end local 4 // java.lang.String name
        end local 3 // org.jruby.runtime.builtin.IRubyObject obj
        end local 2 // java.lang.Object state
        end local 1 // org.jruby.runtime.ThreadContext$RecursiveFunctionEx func
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/jruby/runtime/ThreadContext;
            0   11     1       func  Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx<TT;>;
            0   11     2      state  TT;
            0   11     3        obj  Lorg/jruby/runtime/builtin/IRubyObject;
            0   11     4       name  Ljava/lang/String;
            0   11     5      outer  Z
            1   11     6     guards  Ljava/util/Map<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;
            4   11     7  outermost  Z
    Signature: <T:Ljava/lang/Object;>(Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx<TT;>;TT;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      func   
      state  
      obj    
      name   
      outer  

  private <T> org.jruby.runtime.builtin.IRubyObject safeRecurseOutermost(org.jruby.runtime.ThreadContext$RecursiveFunctionEx<T>, T, org.jruby.runtime.builtin.IRubyObject, java.util.Map<org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject>);
    descriptor: (Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/util/Map;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.ThreadContext$RecursiveFunctionEx func
        start local 2 // java.lang.Object state
        start local 3 // org.jruby.runtime.builtin.IRubyObject obj
        start local 4 // java.util.Map guards
         0: .line 1290
            iconst_0
            istore 5 /* recursed */
        start local 5 // boolean recursed
         1: .line 1291
            aload 4 /* guards */
            getstatic org.jruby.RubyBasicObject.NEVER:Lorg/jruby/runtime/builtin/IRubyObject;
            getstatic org.jruby.RubyBasicObject.NEVER:Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1294
            aload 0 /* this */
            aload 1 /* func */
            aload 2 /* state */
            aload 3 /* obj */
            aload 4 /* guards */
            invokevirtual org.jruby.runtime.ThreadContext.safeRecurseInner:(Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/util/Map;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8
         3: .line 1303
            iload 5 /* recursed */
            ifne 4
            aload 4 /* guards */
            getstatic org.jruby.RubyBasicObject.NEVER:Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 1294
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.ThreadContext$RecursiveFunctionEx java.lang.Object org.jruby.runtime.builtin.IRubyObject java.util.Map int top top org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 8
            areturn
         5: .line 1295
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.ThreadContext$RecursiveFunctionEx java.lang.Object org.jruby.runtime.builtin.IRubyObject java.util.Map int
      StackMap stack: org.jruby.runtime.ThreadContext$RecursiveError
            astore 6 /* re */
        start local 6 // org.jruby.runtime.ThreadContext$RecursiveError re
         6: .line 1296
            aload 6 /* re */
            getfield org.jruby.runtime.ThreadContext$RecursiveError.tag:Ljava/lang/Object;
            aload 4 /* guards */
            if_acmpeq 8
         7: .line 1297
            aload 6 /* re */
            athrow
         8: .line 1299
      StackMap locals: org.jruby.runtime.ThreadContext$RecursiveError
      StackMap stack:
            iconst_1
            istore 5 /* recursed */
         9: .line 1300
            aload 4 /* guards */
            getstatic org.jruby.RubyBasicObject.NEVER:Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1301
            aload 1 /* func */
            aload 0 /* this */
            aload 2 /* state */
            aload 3 /* obj */
            iconst_1
            invokeinterface org.jruby.runtime.ThreadContext$RecursiveFunctionEx.call:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8
        11: .line 1303
            iload 5 /* recursed */
            ifne 12
            aload 4 /* guards */
            getstatic org.jruby.RubyBasicObject.NEVER:Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 1301
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.ThreadContext$RecursiveFunctionEx java.lang.Object org.jruby.runtime.builtin.IRubyObject java.util.Map int org.jruby.runtime.ThreadContext$RecursiveError top org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 8
            areturn
        end local 6 // org.jruby.runtime.ThreadContext$RecursiveError re
        13: .line 1302
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.ThreadContext$RecursiveFunctionEx java.lang.Object org.jruby.runtime.builtin.IRubyObject java.util.Map int
      StackMap stack: java.lang.Throwable
            astore 7
        14: .line 1303
            iload 5 /* recursed */
            ifne 15
            aload 4 /* guards */
            getstatic org.jruby.RubyBasicObject.NEVER:Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 1304
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.ThreadContext$RecursiveFunctionEx java.lang.Object org.jruby.runtime.builtin.IRubyObject java.util.Map int top java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        end local 5 // boolean recursed
        end local 4 // java.util.Map guards
        end local 3 // org.jruby.runtime.builtin.IRubyObject obj
        end local 2 // java.lang.Object state
        end local 1 // org.jruby.runtime.ThreadContext$RecursiveFunctionEx func
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lorg/jruby/runtime/ThreadContext;
            0   16     1      func  Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx<TT;>;
            0   16     2     state  TT;
            0   16     3       obj  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     4    guards  Ljava/util/Map<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;
            1   16     5  recursed  Z
            6   13     6        re  Lorg/jruby/runtime/ThreadContext$RecursiveError;
      Exception table:
        from    to  target  type
           2     3       5  Class org.jruby.runtime.ThreadContext$RecursiveError
           2     3      13  any
           5    11      13  any
    Signature: <T:Ljava/lang/Object;>(Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx<TT;>;TT;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/util/Map<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;)Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
        Name  Flags
      func    
      state   
      obj     
      guards  

  private java.util.Map<org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject> safeRecurseGetGuards(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // java.lang.String name
         0: .line 1308
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.symToGuards:Ljava/util/Map;
            astore 2 /* symToGuards */
        start local 2 // java.util.Map symToGuards
         1: .line 1309
            aload 2 /* symToGuards */
            ifnonnull 3
         2: .line 1310
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            dup
            astore 2 /* symToGuards */
            putfield org.jruby.runtime.ThreadContext.symToGuards:Ljava/util/Map;
         3: .line 1313
      StackMap locals: java.util.Map
      StackMap stack:
            aload 2 /* symToGuards */
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 3 /* guards */
        start local 3 // java.util.Map guards
         4: .line 1314
            aload 3 /* guards */
            ifnonnull 7
         5: .line 1315
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            astore 3 /* guards */
         6: .line 1316
            aload 2 /* symToGuards */
            aload 1 /* name */
            aload 3 /* guards */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 1319
      StackMap locals: java.util.Map
      StackMap stack:
            aload 3 /* guards */
            areturn
        end local 3 // java.util.Map guards
        end local 2 // java.util.Map symToGuards
        end local 1 // java.lang.String name
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/jruby/runtime/ThreadContext;
            0    8     1         name  Ljava/lang/String;
            1    8     2  symToGuards  Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;>;
            4    8     3       guards  Ljava/util/Map<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;
    Signature: (Ljava/lang/String;)Ljava/util/Map<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;
    MethodParameters:
      Name  Flags
      name  

  private <T> org.jruby.runtime.builtin.IRubyObject safeRecurseInner(org.jruby.runtime.ThreadContext$RecursiveFunctionEx<T>, T, org.jruby.runtime.builtin.IRubyObject, java.util.Map<org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject>);
    descriptor: (Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/util/Map;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 1 // org.jruby.runtime.ThreadContext$RecursiveFunctionEx func
        start local 2 // java.lang.Object state
        start local 3 // org.jruby.runtime.builtin.IRubyObject obj
        start local 4 // java.util.Map guards
         0: .line 1324
            aload 4 /* guards */
            aload 3 /* obj */
            aload 3 /* obj */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1325
            aload 1 /* func */
            aload 0 /* this */
            aload 2 /* state */
            aload 3 /* obj */
            iconst_0
            invokeinterface org.jruby.runtime.ThreadContext$RecursiveFunctionEx.call:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6
         2: .line 1327
            aload 4 /* guards */
            aload 3 /* obj */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1325
            aload 6
            areturn
         4: .line 1326
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
         5: .line 1327
            aload 4 /* guards */
            aload 3 /* obj */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 1328
            aload 5
            athrow
        end local 4 // java.util.Map guards
        end local 3 // org.jruby.runtime.builtin.IRubyObject obj
        end local 2 // java.lang.Object state
        end local 1 // org.jruby.runtime.ThreadContext$RecursiveFunctionEx func
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/jruby/runtime/ThreadContext;
            0    7     1    func  Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx<TT;>;
            0    7     2   state  TT;
            0    7     3     obj  Lorg/jruby/runtime/builtin/IRubyObject;
            0    7     4  guards  Ljava/util/Map<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;
      Exception table:
        from    to  target  type
           0     2       4  any
    Signature: <T:Ljava/lang/Object;>(Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx<TT;>;TT;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/util/Map<Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;>;)Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
        Name  Flags
      func    
      state   
      obj     
      guards  

  public org.jcodings.Encoding[] encodingHolder();
    descriptor: ()[Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 1339
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.encodingHolder:[Lorg/jcodings/Encoding;
            ifnonnull 1
            aload 0 /* this */
            iconst_1
            anewarray org.jcodings.Encoding
            putfield org.jruby.runtime.ThreadContext.encodingHolder:[Lorg/jcodings/Encoding;
         1: .line 1340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.encodingHolder:[Lorg/jcodings/Encoding;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;

  public void setFile(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.runtime.ThreadContext this
        start local 1 // java.lang.String file
         0: .line 1345
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtrace:[Lorg/jruby/runtime/backtrace/BacktraceElement;
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.backtraceIndex:I
            aaload
            aload 1 /* file */
            putfield org.jruby.runtime.backtrace.BacktraceElement.filename:Ljava/lang/String;
         1: .line 1346
            return
        end local 1 // java.lang.String file
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;
            0    2     1  file  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      file  

  public org.jruby.util.RubyDateFormat getRubyDateFormat();
    descriptor: ()Lorg/jruby/util/RubyDateFormat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext this
         0: .line 1353
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.dateFormat:Lorg/jruby/util/RubyDateFormat;
            ifnonnull 1
            aload 0 /* this */
            new org.jruby.util.RubyDateFormat
            dup
            ldc "-"
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial org.jruby.util.RubyDateFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
            putfield org.jruby.runtime.ThreadContext.dateFormat:Lorg/jruby/util/RubyDateFormat;
         1: .line 1355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.runtime.ThreadContext.dateFormat:Lorg/jruby/util/RubyDateFormat;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private org.jruby.runtime.backtrace.RubyStackTraceElement[] lambda$0(int, java.util.stream.Stream);
    descriptor: (ILjava/util/stream/Stream;)[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext this
        start local 2 // java.util.stream.Stream stream
         0: .line 846
            aload 0 /* this */
            iload 1
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* stream */
            invokevirtual org.jruby.runtime.ThreadContext.getPartialTrace:(ILjava/lang/Integer;Ljava/util/stream/Stream;)[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            areturn
        end local 2 // java.util.stream.Stream stream
        end local 0 // org.jruby.runtime.ThreadContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jruby/runtime/ThreadContext;
            0    1     2  stream  Ljava/util/stream/Stream<Lcom/headius/backport9/stack/StackWalker$StackFrame;>;

  private static org.jruby.runtime.backtrace.BacktraceElement lambda$1(org.jruby.runtime.backtrace.BacktraceElement[], int, int);
    descriptor: ([Lorg/jruby/runtime/backtrace/BacktraceElement;II)Lorg/jruby/runtime/backtrace/BacktraceElement;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 2 // int i
         0: .line 883
            aload 0
            iload 1
            iload 2 /* i */
            isub
            aaload
            areturn
        end local 2 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     2     i  I

  private static java.lang.String lambda$2(java.lang.Throwable, boolean, java.util.stream.Stream);
    descriptor: (Ljava/lang/Throwable;ZLjava/util/stream/Stream;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=8, locals=3, args_size=3
        start local 2 // java.util.stream.Stream stream
         0: .line 888
            aconst_null
         1: .line 889
            new org.jruby.runtime.backtrace.BacktraceData
            dup
            aload 2 /* stream */
            invokestatic java.util.stream.Stream.empty:()Ljava/util/stream/Stream;
            iconst_1
            iconst_0
            iconst_0
            invokespecial org.jruby.runtime.backtrace.BacktraceData.<init>:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;ZZZ)V
            invokevirtual org.jruby.runtime.backtrace.BacktraceData.getBacktraceWithoutRuby:()[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
         2: .line 890
            aload 0
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         3: .line 891
            aload 0
            invokevirtual java.lang.Throwable.getLocalizedMessage:()Ljava/lang/String;
         4: .line 892
            iload 1
         5: .line 888
            invokestatic org.jruby.runtime.backtrace.TraceType.printBacktraceJRuby:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/backtrace/RubyStackTraceElement;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
         6: .line 892
            areturn
        end local 2 // java.util.stream.Stream stream
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     2  stream  Ljava/util/stream/Stream<Lcom/headius/backport9/stack/StackWalker$StackFrame;>;
}
SourceFile: "ThreadContext.java"
NestMembers:
  org.jruby.runtime.ThreadContext$RecursiveError  org.jruby.runtime.ThreadContext$RecursiveFunctionEx
InnerClasses:
  public abstract StackFrame = com.headius.backport9.stack.StackWalker$StackFrame of com.headius.backport9.stack.StackWalker
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Continuation = org.jruby.RubyContinuation$Continuation of org.jruby.RubyContinuation
  public Location = org.jruby.RubyThread$Location of org.jruby.RubyThread
  public FiberData = org.jruby.ext.fiber.ThreadFiber$FiberData of org.jruby.ext.fiber.ThreadFiber
  private RecursiveError = org.jruby.runtime.ThreadContext$RecursiveError of org.jruby.runtime.ThreadContext
  public abstract RecursiveFunctionEx = org.jruby.runtime.ThreadContext$RecursiveFunctionEx of org.jruby.runtime.ThreadContext
  public abstract Format = org.jruby.runtime.backtrace.TraceType$Format of org.jruby.runtime.backtrace.TraceType
  public abstract Gather = org.jruby.runtime.backtrace.TraceType$Gather of org.jruby.runtime.backtrace.TraceType
  public Pair = org.jruby.util.RecursiveComparator$Pair of org.jruby.util.RecursiveComparator