public class org.jruby.internal.runtime.methods.MixedModeIRMethod extends org.jruby.internal.runtime.AbstractIRMethod implements org.jruby.compiler.Compilable<org.jruby.internal.runtime.methods.DynamicMethod>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.internal.runtime.methods.MixedModeIRMethod
  super_class: org.jruby.internal.runtime.AbstractIRMethod
{
  private static final org.jruby.util.log.Logger LOG;
    descriptor: Lorg/jruby/util/log/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private volatile org.jruby.internal.runtime.methods.DynamicMethod actualMethod;
    descriptor: Lorg/jruby/internal/runtime/methods/DynamicMethod;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 21
            ldc Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            invokestatic org.jruby.util.log.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/jruby/util/log/Logger;
            putstatic org.jruby.internal.runtime.methods.MixedModeIRMethod.LOG:Lorg/jruby/util/log/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.jruby.ir.IRScope, org.jruby.runtime.Visibility, org.jruby.RubyModule);
    descriptor: (Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/Visibility;Lorg/jruby/RubyModule;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
        start local 1 // org.jruby.ir.IRScope method
        start local 2 // org.jruby.runtime.Visibility visibility
        start local 3 // org.jruby.RubyModule implementationClass
         0: .line 28
            aload 0 /* this */
            aload 1 /* method */
            aload 2 /* visibility */
            aload 3 /* implementationClass */
            invokespecial org.jruby.internal.runtime.AbstractIRMethod.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/Visibility;Lorg/jruby/RubyModule;)V
         1: .line 23
            aload 0 /* this */
            iconst_0
            putfield org.jruby.internal.runtime.methods.MixedModeIRMethod.displayedCFG:Z
         2: .line 30
            aload 3 /* implementationClass */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getInstanceConfig:()Lorg/jruby/RubyInstanceConfig;
            invokevirtual org.jruby.RubyInstanceConfig.isJitEnabled:()Z
            ifne 3
            aload 0 /* this */
            iconst_m1
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.setCallCount:(I)V
         3: .line 32
      StackMap locals: org.jruby.internal.runtime.methods.MixedModeIRMethod org.jruby.ir.IRScope org.jruby.runtime.Visibility org.jruby.RubyModule
      StackMap stack:
            aload 1 /* method */
            aload 0 /* this */
            putfield org.jruby.ir.IRScope.compilable:Lorg/jruby/compiler/Compilable;
         4: .line 33
            return
        end local 3 // org.jruby.RubyModule implementationClass
        end local 2 // org.jruby.runtime.Visibility visibility
        end local 1 // org.jruby.ir.IRScope method
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    5     0                 this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            0    5     1               method  Lorg/jruby/ir/IRScope;
            0    5     2           visibility  Lorg/jruby/runtime/Visibility;
            0    5     3  implementationClass  Lorg/jruby/RubyModule;
    MethodParameters:
                     Name  Flags
      method               
      visibility           
      implementationClass  

  public org.jruby.internal.runtime.methods.DynamicMethod getActualMethod();
    descriptor: ()Lorg/jruby/internal/runtime/methods/DynamicMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
         0: .line 36
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.actualMethod:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            areturn
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;

  protected void post(org.jruby.ir.interpreter.InterpreterContext, org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
        start local 1 // org.jruby.ir.interpreter.InterpreterContext ic
        start local 2 // org.jruby.runtime.ThreadContext context
         0: .line 41
            aload 2 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.popFrame:()V
         1: .line 42
            aload 1 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.popDynScope:()Z
            ifeq 3
         2: .line 43
            aload 2 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.popScope:()V
         3: .line 45
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.jruby.runtime.ThreadContext context
        end local 1 // org.jruby.ir.interpreter.InterpreterContext ic
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            0    4     1       ic  Lorg/jruby/ir/interpreter/InterpreterContext;
            0    4     2  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      ic       
      context  

  protected void pre(org.jruby.ir.interpreter.InterpreterContext, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.Block, org.jruby.RubyModule);
    descriptor: (Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;Lorg/jruby/RubyModule;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=7
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
        start local 1 // org.jruby.ir.interpreter.InterpreterContext ic
        start local 2 // org.jruby.runtime.ThreadContext context
        start local 3 // org.jruby.runtime.builtin.IRubyObject self
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.Block block
        start local 6 // org.jruby.RubyModule implClass
         0: .line 49
            aload 2 /* context */
            aload 6 /* implClass */
            aload 4 /* name */
            aload 3 /* self */
            aload 5 /* block */
            invokevirtual org.jruby.runtime.ThreadContext.preMethodFrameOnly:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
         1: .line 50
            aload 1 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.pushNewDynScope:()Z
            ifeq 3
         2: .line 51
            aload 2 /* context */
            aload 1 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getStaticScope:()Lorg/jruby/parser/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
         3: .line 53
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.jruby.RubyModule implClass
        end local 5 // org.jruby.runtime.Block block
        end local 4 // java.lang.String name
        end local 3 // org.jruby.runtime.builtin.IRubyObject self
        end local 2 // org.jruby.runtime.ThreadContext context
        end local 1 // org.jruby.ir.interpreter.InterpreterContext ic
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            0    4     1         ic  Lorg/jruby/ir/interpreter/InterpreterContext;
            0    4     2    context  Lorg/jruby/runtime/ThreadContext;
            0    4     3       self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     4       name  Ljava/lang/String;
            0    4     5      block  Lorg/jruby/runtime/Block;
            0    4     6  implClass  Lorg/jruby/RubyModule;
    MethodParameters:
           Name  Flags
      ic         
      context    
      self       
      name       
      block      
      implClass  

  protected void printMethodIR();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
         0: .line 57
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.method:Lorg/jruby/ir/IRScope;
            iconst_0
            invokestatic org.jruby.ir.persistence.IRDumper.printIR:(Lorg/jruby/ir/IRScope;Z)Ljava/io/ByteArrayOutputStream;
            astore 1 /* baos */
        start local 1 // java.io.ByteArrayOutputStream baos
         1: .line 58
            getstatic org.jruby.internal.runtime.methods.MixedModeIRMethod.LOG:Lorg/jruby/util/log/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Printing simple IR for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.method:Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.getId:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            new java.lang.String
            dup
            aload 1 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.lang.String.<init>:([B)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 59
            return
        end local 1 // java.io.ByteArrayOutputStream baos
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            1    3     1  baos  Ljava/io/ByteArrayOutputStream;

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=7
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule clazz
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 6 // org.jruby.runtime.Block block
         0: .line 63
            invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.isDebug:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.doDebug:()V
         1: .line 66
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.callCount:I
            iflt 2
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.internal.runtime.methods.MixedModeIRMethod.tryJit:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/internal/runtime/AbstractIRMethod;)V
         2: .line 68
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.actualMethod:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 7 /* jittedMethod */
        start local 7 // org.jruby.internal.runtime.methods.DynamicMethod jittedMethod
         3: .line 69
            aload 7 /* jittedMethod */
            ifnull 5
         4: .line 70
            aload 7 /* jittedMethod */
            aload 1 /* context */
            aload 2 /* self */
            aload 3 /* clazz */
            aload 4 /* name */
            aload 5 /* args */
            aload 6 /* block */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 73
      StackMap locals: org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.ensureInstrsReady:()Lorg/jruby/ir/interpreter/InterpreterContext;
            aload 3 /* clazz */
            aload 2 /* self */
            aload 4 /* name */
            aload 5 /* args */
            aload 6 /* block */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 7 // org.jruby.internal.runtime.methods.DynamicMethod jittedMethod
        end local 6 // org.jruby.runtime.Block block
        end local 5 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule clazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            0    6     1       context  Lorg/jruby/runtime/ThreadContext;
            0    6     2          self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3         clazz  Lorg/jruby/RubyModule;
            0    6     4          name  Ljava/lang/String;
            0    6     5          args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     6         block  Lorg/jruby/runtime/Block;
            3    6     7  jittedMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
         Name  Flags
      context  
      self     
      clazz    
      name     
      args     
      block    

  private org.jruby.runtime.builtin.IRubyObject INTERPRET_METHOD(org.jruby.runtime.ThreadContext, org.jruby.ir.interpreter.InterpreterContext, org.jruby.RubyModule, org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=12, args_size=8
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.ir.interpreter.InterpreterContext ic
        start local 3 // org.jruby.RubyModule implClass
        start local 4 // org.jruby.runtime.builtin.IRubyObject self
        start local 5 // java.lang.String name
        start local 6 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 7 // org.jruby.runtime.Block block
         0: .line 79
            aload 1 /* context */
            aload 5 /* name */
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getFileName:()Ljava/lang/String;
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getLine:()I
            invokestatic org.jruby.runtime.ThreadContext.pushBacktrace:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/String;I)V
         1: .line 81
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.hasExplicitCallProtocol:()Z
            ifeq 5
         2: .line 82
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getEngine:()Lorg/jruby/ir/interpreter/InterpreterEngine;
            aload 1 /* context */
            aconst_null
            aload 4 /* self */
            aload 2 /* ic */
            aload 3 /* implClass */
            aload 5 /* name */
            aload 6 /* args */
            aload 7 /* block */
            invokevirtual org.jruby.ir.interpreter.InterpreterEngine.interpret:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11
         3: .line 92
            aload 1 /* context */
            invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
         4: .line 82
            aload 11
            areturn
         5: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* ic */
            aload 1 /* context */
            aload 4 /* self */
            aload 5 /* name */
            aload 7 /* block */
            aload 3 /* implClass */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.pre:(Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;Lorg/jruby/RubyModule;)V
         6: .line 86
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getEngine:()Lorg/jruby/ir/interpreter/InterpreterEngine;
            aload 1 /* context */
            aconst_null
            aload 4 /* self */
            aload 2 /* ic */
            aload 3 /* implClass */
            aload 5 /* name */
            aload 6 /* args */
            aload 7 /* block */
            invokevirtual org.jruby.ir.interpreter.InterpreterEngine.interpret:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9
         7: .line 88
            aload 0 /* this */
            aload 2 /* ic */
            aload 1 /* context */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.post:(Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;)V
         8: .line 92
            aload 1 /* context */
            invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
         9: .line 86
            aload 9
            areturn
        10: .line 87
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        11: .line 88
            aload 0 /* this */
            aload 2 /* ic */
            aload 1 /* context */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.post:(Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;)V
        12: .line 89
            aload 8
            athrow
        13: .line 91
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
        14: .line 92
            aload 1 /* context */
            invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
        15: .line 93
            aload 10
            athrow
        end local 7 // org.jruby.runtime.Block block
        end local 6 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 5 // java.lang.String name
        end local 4 // org.jruby.runtime.builtin.IRubyObject self
        end local 3 // org.jruby.RubyModule implClass
        end local 2 // org.jruby.ir.interpreter.InterpreterContext ic
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            0   16     1    context  Lorg/jruby/runtime/ThreadContext;
            0   16     2         ic  Lorg/jruby/ir/interpreter/InterpreterContext;
            0   16     3  implClass  Lorg/jruby/RubyModule;
            0   16     4       self  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     5       name  Ljava/lang/String;
            0   16     6       args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     7      block  Lorg/jruby/runtime/Block;
      Exception table:
        from    to  target  type
           5     7      10  any
           0     3      13  any
           5     8      13  any
          10    13      13  any
    MethodParameters:
           Name  Flags
      context    
      ic         
      implClass  
      self       
      name       
      args       
      block      

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule clazz
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.Block block
         0: .line 98
            invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.isDebug:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.doDebug:()V
         1: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.callCount:I
            iflt 2
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.internal.runtime.methods.MixedModeIRMethod.tryJit:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/internal/runtime/AbstractIRMethod;)V
         2: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.actualMethod:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 6 /* jittedMethod */
        start local 6 // org.jruby.internal.runtime.methods.DynamicMethod jittedMethod
         3: .line 104
            aload 6 /* jittedMethod */
            ifnull 5
         4: .line 105
            aload 6 /* jittedMethod */
            aload 1 /* context */
            aload 2 /* self */
            aload 3 /* clazz */
            aload 4 /* name */
            aload 5 /* block */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 108
      StackMap locals: org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.ensureInstrsReady:()Lorg/jruby/ir/interpreter/InterpreterContext;
            aload 3 /* clazz */
            aload 2 /* self */
            aload 4 /* name */
            aload 5 /* block */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 6 // org.jruby.internal.runtime.methods.DynamicMethod jittedMethod
        end local 5 // org.jruby.runtime.Block block
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule clazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            0    6     1       context  Lorg/jruby/runtime/ThreadContext;
            0    6     2          self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3         clazz  Lorg/jruby/RubyModule;
            0    6     4          name  Ljava/lang/String;
            0    6     5         block  Lorg/jruby/runtime/Block;
            3    6     6  jittedMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
         Name  Flags
      context  
      self     
      clazz    
      name     
      block    

  private org.jruby.runtime.builtin.IRubyObject INTERPRET_METHOD(org.jruby.runtime.ThreadContext, org.jruby.ir.interpreter.InterpreterContext, org.jruby.RubyModule, org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=11, args_size=7
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.ir.interpreter.InterpreterContext ic
        start local 3 // org.jruby.RubyModule implClass
        start local 4 // org.jruby.runtime.builtin.IRubyObject self
        start local 5 // java.lang.String name
        start local 6 // org.jruby.runtime.Block block
         0: .line 114
            aload 1 /* context */
            aload 5 /* name */
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getFileName:()Ljava/lang/String;
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getLine:()I
            invokestatic org.jruby.runtime.ThreadContext.pushBacktrace:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/String;I)V
         1: .line 116
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.hasExplicitCallProtocol:()Z
            ifeq 5
         2: .line 117
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getEngine:()Lorg/jruby/ir/interpreter/InterpreterEngine;
            aload 1 /* context */
            aconst_null
            aload 4 /* self */
            aload 2 /* ic */
            aload 3 /* implClass */
            aload 5 /* name */
            aload 6 /* block */
            invokevirtual org.jruby.ir.interpreter.InterpreterEngine.interpret:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10
         3: .line 127
            aload 1 /* context */
            invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
         4: .line 117
            aload 10
            areturn
         5: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* ic */
            aload 1 /* context */
            aload 4 /* self */
            aload 5 /* name */
            aload 6 /* block */
            aload 3 /* implClass */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.pre:(Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;Lorg/jruby/RubyModule;)V
         6: .line 121
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getEngine:()Lorg/jruby/ir/interpreter/InterpreterEngine;
            aload 1 /* context */
            aconst_null
            aload 4 /* self */
            aload 2 /* ic */
            aload 3 /* implClass */
            aload 5 /* name */
            aload 6 /* block */
            invokevirtual org.jruby.ir.interpreter.InterpreterEngine.interpret:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8
         7: .line 123
            aload 0 /* this */
            aload 2 /* ic */
            aload 1 /* context */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.post:(Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;)V
         8: .line 127
            aload 1 /* context */
            invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
         9: .line 121
            aload 8
            areturn
        10: .line 122
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        11: .line 123
            aload 0 /* this */
            aload 2 /* ic */
            aload 1 /* context */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.post:(Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;)V
        12: .line 124
            aload 7
            athrow
        13: .line 126
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        14: .line 127
            aload 1 /* context */
            invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
        15: .line 128
            aload 9
            athrow
        end local 6 // org.jruby.runtime.Block block
        end local 5 // java.lang.String name
        end local 4 // org.jruby.runtime.builtin.IRubyObject self
        end local 3 // org.jruby.RubyModule implClass
        end local 2 // org.jruby.ir.interpreter.InterpreterContext ic
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            0   16     1    context  Lorg/jruby/runtime/ThreadContext;
            0   16     2         ic  Lorg/jruby/ir/interpreter/InterpreterContext;
            0   16     3  implClass  Lorg/jruby/RubyModule;
            0   16     4       self  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     5       name  Ljava/lang/String;
            0   16     6      block  Lorg/jruby/runtime/Block;
      Exception table:
        from    to  target  type
           5     7      10  any
           0     3      13  any
           5     8      13  any
          10    13      13  any
    MethodParameters:
           Name  Flags
      context    
      ic         
      implClass  
      self       
      name       
      block      

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=7
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule clazz
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 6 // org.jruby.runtime.Block block
         0: .line 133
            invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.isDebug:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.doDebug:()V
         1: .line 136
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.callCount:I
            iflt 2
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.internal.runtime.methods.MixedModeIRMethod.tryJit:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/internal/runtime/AbstractIRMethod;)V
         2: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.actualMethod:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 7 /* jittedMethod */
        start local 7 // org.jruby.internal.runtime.methods.DynamicMethod jittedMethod
         3: .line 139
            aload 7 /* jittedMethod */
            ifnull 5
         4: .line 140
            aload 7 /* jittedMethod */
            aload 1 /* context */
            aload 2 /* self */
            aload 3 /* clazz */
            aload 4 /* name */
            aload 5 /* arg0 */
            aload 6 /* block */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 143
      StackMap locals: org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.ensureInstrsReady:()Lorg/jruby/ir/interpreter/InterpreterContext;
            aload 3 /* clazz */
            aload 2 /* self */
            aload 4 /* name */
            aload 5 /* arg0 */
            aload 6 /* block */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 7 // org.jruby.internal.runtime.methods.DynamicMethod jittedMethod
        end local 6 // org.jruby.runtime.Block block
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule clazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            0    6     1       context  Lorg/jruby/runtime/ThreadContext;
            0    6     2          self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3         clazz  Lorg/jruby/RubyModule;
            0    6     4          name  Ljava/lang/String;
            0    6     5          arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     6         block  Lorg/jruby/runtime/Block;
            3    6     7  jittedMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
         Name  Flags
      context  
      self     
      clazz    
      name     
      arg0     
      block    

  private org.jruby.runtime.builtin.IRubyObject INTERPRET_METHOD(org.jruby.runtime.ThreadContext, org.jruby.ir.interpreter.InterpreterContext, org.jruby.RubyModule, org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=12, args_size=8
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.ir.interpreter.InterpreterContext ic
        start local 3 // org.jruby.RubyModule implClass
        start local 4 // org.jruby.runtime.builtin.IRubyObject self
        start local 5 // java.lang.String name
        start local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 7 // org.jruby.runtime.Block block
         0: .line 149
            aload 1 /* context */
            aload 5 /* name */
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getFileName:()Ljava/lang/String;
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getLine:()I
            invokestatic org.jruby.runtime.ThreadContext.pushBacktrace:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/String;I)V
         1: .line 151
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.hasExplicitCallProtocol:()Z
            ifeq 5
         2: .line 152
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getEngine:()Lorg/jruby/ir/interpreter/InterpreterEngine;
            aload 1 /* context */
            aconst_null
            aload 4 /* self */
            aload 2 /* ic */
            aload 3 /* implClass */
            aload 5 /* name */
            aload 6 /* arg1 */
            aload 7 /* block */
            invokevirtual org.jruby.ir.interpreter.InterpreterEngine.interpret:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11
         3: .line 162
            aload 1 /* context */
            invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
         4: .line 152
            aload 11
            areturn
         5: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* ic */
            aload 1 /* context */
            aload 4 /* self */
            aload 5 /* name */
            aload 7 /* block */
            aload 3 /* implClass */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.pre:(Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;Lorg/jruby/RubyModule;)V
         6: .line 156
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getEngine:()Lorg/jruby/ir/interpreter/InterpreterEngine;
            aload 1 /* context */
            aconst_null
            aload 4 /* self */
            aload 2 /* ic */
            aload 3 /* implClass */
            aload 5 /* name */
            aload 6 /* arg1 */
            aload 7 /* block */
            invokevirtual org.jruby.ir.interpreter.InterpreterEngine.interpret:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9
         7: .line 158
            aload 0 /* this */
            aload 2 /* ic */
            aload 1 /* context */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.post:(Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;)V
         8: .line 162
            aload 1 /* context */
            invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
         9: .line 156
            aload 9
            areturn
        10: .line 157
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        11: .line 158
            aload 0 /* this */
            aload 2 /* ic */
            aload 1 /* context */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.post:(Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;)V
        12: .line 159
            aload 8
            athrow
        13: .line 161
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
        14: .line 162
            aload 1 /* context */
            invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
        15: .line 163
            aload 10
            athrow
        end local 7 // org.jruby.runtime.Block block
        end local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 5 // java.lang.String name
        end local 4 // org.jruby.runtime.builtin.IRubyObject self
        end local 3 // org.jruby.RubyModule implClass
        end local 2 // org.jruby.ir.interpreter.InterpreterContext ic
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            0   16     1    context  Lorg/jruby/runtime/ThreadContext;
            0   16     2         ic  Lorg/jruby/ir/interpreter/InterpreterContext;
            0   16     3  implClass  Lorg/jruby/RubyModule;
            0   16     4       self  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     5       name  Ljava/lang/String;
            0   16     6       arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     7      block  Lorg/jruby/runtime/Block;
      Exception table:
        from    to  target  type
           5     7      10  any
           0     3      13  any
           5     8      13  any
          10    13      13  any
    MethodParameters:
           Name  Flags
      context    
      ic         
      implClass  
      self       
      name       
      arg1       
      block      

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=9, args_size=8
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule clazz
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 7 // org.jruby.runtime.Block block
         0: .line 168
            invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.isDebug:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.doDebug:()V
         1: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.callCount:I
            iflt 2
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.internal.runtime.methods.MixedModeIRMethod.tryJit:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/internal/runtime/AbstractIRMethod;)V
         2: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.actualMethod:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 8 /* jittedMethod */
        start local 8 // org.jruby.internal.runtime.methods.DynamicMethod jittedMethod
         3: .line 174
            aload 8 /* jittedMethod */
            ifnull 5
         4: .line 175
            aload 8 /* jittedMethod */
            aload 1 /* context */
            aload 2 /* self */
            aload 3 /* clazz */
            aload 4 /* name */
            aload 5 /* arg0 */
            aload 6 /* arg1 */
            aload 7 /* block */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 178
      StackMap locals: org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.ensureInstrsReady:()Lorg/jruby/ir/interpreter/InterpreterContext;
            aload 3 /* clazz */
            aload 2 /* self */
            aload 4 /* name */
            aload 5 /* arg0 */
            aload 6 /* arg1 */
            aload 7 /* block */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 8 // org.jruby.internal.runtime.methods.DynamicMethod jittedMethod
        end local 7 // org.jruby.runtime.Block block
        end local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule clazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            0    6     1       context  Lorg/jruby/runtime/ThreadContext;
            0    6     2          self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3         clazz  Lorg/jruby/RubyModule;
            0    6     4          name  Ljava/lang/String;
            0    6     5          arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     6          arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     7         block  Lorg/jruby/runtime/Block;
            3    6     8  jittedMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
         Name  Flags
      context  
      self     
      clazz    
      name     
      arg0     
      arg1     
      block    

  private org.jruby.runtime.builtin.IRubyObject INTERPRET_METHOD(org.jruby.runtime.ThreadContext, org.jruby.ir.interpreter.InterpreterContext, org.jruby.RubyModule, org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=13, args_size=9
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.ir.interpreter.InterpreterContext ic
        start local 3 // org.jruby.RubyModule implClass
        start local 4 // org.jruby.runtime.builtin.IRubyObject self
        start local 5 // java.lang.String name
        start local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 7 // org.jruby.runtime.builtin.IRubyObject arg2
        start local 8 // org.jruby.runtime.Block block
         0: .line 184
            aload 1 /* context */
            aload 5 /* name */
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getFileName:()Ljava/lang/String;
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getLine:()I
            invokestatic org.jruby.runtime.ThreadContext.pushBacktrace:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/String;I)V
         1: .line 186
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.hasExplicitCallProtocol:()Z
            ifeq 5
         2: .line 187
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getEngine:()Lorg/jruby/ir/interpreter/InterpreterEngine;
            aload 1 /* context */
            aconst_null
            aload 4 /* self */
            aload 2 /* ic */
            aload 3 /* implClass */
            aload 5 /* name */
            aload 6 /* arg1 */
            aload 7 /* arg2 */
            aload 8 /* block */
            invokevirtual org.jruby.ir.interpreter.InterpreterEngine.interpret:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12
         3: .line 197
            aload 1 /* context */
            invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
         4: .line 187
            aload 12
            areturn
         5: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* ic */
            aload 1 /* context */
            aload 4 /* self */
            aload 5 /* name */
            aload 8 /* block */
            aload 3 /* implClass */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.pre:(Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;Lorg/jruby/RubyModule;)V
         6: .line 191
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getEngine:()Lorg/jruby/ir/interpreter/InterpreterEngine;
            aload 1 /* context */
            aconst_null
            aload 4 /* self */
            aload 2 /* ic */
            aload 3 /* implClass */
            aload 5 /* name */
            aload 6 /* arg1 */
            aload 7 /* arg2 */
            aload 8 /* block */
            invokevirtual org.jruby.ir.interpreter.InterpreterEngine.interpret:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10
         7: .line 193
            aload 0 /* this */
            aload 2 /* ic */
            aload 1 /* context */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.post:(Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;)V
         8: .line 197
            aload 1 /* context */
            invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
         9: .line 191
            aload 10
            areturn
        10: .line 192
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        11: .line 193
            aload 0 /* this */
            aload 2 /* ic */
            aload 1 /* context */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.post:(Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;)V
        12: .line 194
            aload 9
            athrow
        13: .line 196
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        14: .line 197
            aload 1 /* context */
            invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
        15: .line 198
            aload 11
            athrow
        end local 8 // org.jruby.runtime.Block block
        end local 7 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 5 // java.lang.String name
        end local 4 // org.jruby.runtime.builtin.IRubyObject self
        end local 3 // org.jruby.RubyModule implClass
        end local 2 // org.jruby.ir.interpreter.InterpreterContext ic
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            0   16     1    context  Lorg/jruby/runtime/ThreadContext;
            0   16     2         ic  Lorg/jruby/ir/interpreter/InterpreterContext;
            0   16     3  implClass  Lorg/jruby/RubyModule;
            0   16     4       self  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     5       name  Ljava/lang/String;
            0   16     6       arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     7       arg2  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     8      block  Lorg/jruby/runtime/Block;
      Exception table:
        from    to  target  type
           5     7      10  any
           0     3      13  any
           5     8      13  any
          10    13      13  any
    MethodParameters:
           Name  Flags
      context    
      ic         
      implClass  
      self       
      name       
      arg1       
      arg2       
      block      

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=10, args_size=9
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule clazz
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 7 // org.jruby.runtime.builtin.IRubyObject arg2
        start local 8 // org.jruby.runtime.Block block
         0: .line 203
            invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.isDebug:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.doDebug:()V
         1: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.callCount:I
            iflt 2
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.internal.runtime.methods.MixedModeIRMethod.tryJit:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/internal/runtime/AbstractIRMethod;)V
         2: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.actualMethod:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            astore 9 /* jittedMethod */
        start local 9 // org.jruby.internal.runtime.methods.DynamicMethod jittedMethod
         3: .line 209
            aload 9 /* jittedMethod */
            ifnull 5
         4: .line 210
            aload 9 /* jittedMethod */
            aload 1 /* context */
            aload 2 /* self */
            aload 3 /* clazz */
            aload 4 /* name */
            aload 5 /* arg0 */
            aload 6 /* arg1 */
            aload 7 /* arg2 */
            aload 8 /* block */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 213
      StackMap locals: org.jruby.internal.runtime.methods.DynamicMethod
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.ensureInstrsReady:()Lorg/jruby/ir/interpreter/InterpreterContext;
            aload 3 /* clazz */
            aload 2 /* self */
            aload 4 /* name */
            aload 5 /* arg0 */
            aload 6 /* arg1 */
            aload 7 /* arg2 */
            aload 8 /* block */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 9 // org.jruby.internal.runtime.methods.DynamicMethod jittedMethod
        end local 8 // org.jruby.runtime.Block block
        end local 7 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule clazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            0    6     1       context  Lorg/jruby/runtime/ThreadContext;
            0    6     2          self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3         clazz  Lorg/jruby/RubyModule;
            0    6     4          name  Ljava/lang/String;
            0    6     5          arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     6          arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     7          arg2  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     8         block  Lorg/jruby/runtime/Block;
            3    6     9  jittedMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
         Name  Flags
      context  
      self     
      clazz    
      name     
      arg0     
      arg1     
      arg2     
      block    

  private org.jruby.runtime.builtin.IRubyObject INTERPRET_METHOD(org.jruby.runtime.ThreadContext, org.jruby.ir.interpreter.InterpreterContext, org.jruby.RubyModule, org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=14, args_size=10
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.ir.interpreter.InterpreterContext ic
        start local 3 // org.jruby.RubyModule implClass
        start local 4 // org.jruby.runtime.builtin.IRubyObject self
        start local 5 // java.lang.String name
        start local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 7 // org.jruby.runtime.builtin.IRubyObject arg2
        start local 8 // org.jruby.runtime.builtin.IRubyObject arg3
        start local 9 // org.jruby.runtime.Block block
         0: .line 219
            aload 1 /* context */
            aload 5 /* name */
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getFileName:()Ljava/lang/String;
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getLine:()I
            invokestatic org.jruby.runtime.ThreadContext.pushBacktrace:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Ljava/lang/String;I)V
         1: .line 221
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.hasExplicitCallProtocol:()Z
            ifeq 5
         2: .line 222
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getEngine:()Lorg/jruby/ir/interpreter/InterpreterEngine;
            aload 1 /* context */
            aconst_null
            aload 4 /* self */
            aload 2 /* ic */
            aload 3 /* implClass */
            aload 5 /* name */
            aload 6 /* arg1 */
            aload 7 /* arg2 */
            aload 8 /* arg3 */
            aload 9 /* block */
            invokevirtual org.jruby.ir.interpreter.InterpreterEngine.interpret:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 13
         3: .line 232
            aload 1 /* context */
            invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
         4: .line 222
            aload 13
            areturn
         5: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* ic */
            aload 1 /* context */
            aload 4 /* self */
            aload 5 /* name */
            aload 9 /* block */
            aload 3 /* implClass */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.pre:(Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;Lorg/jruby/RubyModule;)V
         6: .line 226
            aload 2 /* ic */
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getEngine:()Lorg/jruby/ir/interpreter/InterpreterEngine;
            aload 1 /* context */
            aconst_null
            aload 4 /* self */
            aload 2 /* ic */
            aload 3 /* implClass */
            aload 5 /* name */
            aload 6 /* arg1 */
            aload 7 /* arg2 */
            aload 8 /* arg3 */
            aload 9 /* block */
            invokevirtual org.jruby.ir.interpreter.InterpreterEngine.interpret:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11
         7: .line 228
            aload 0 /* this */
            aload 2 /* ic */
            aload 1 /* context */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.post:(Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;)V
         8: .line 232
            aload 1 /* context */
            invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
         9: .line 226
            aload 11
            areturn
        10: .line 227
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
        11: .line 228
            aload 0 /* this */
            aload 2 /* ic */
            aload 1 /* context */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.post:(Lorg/jruby/ir/interpreter/InterpreterContext;Lorg/jruby/runtime/ThreadContext;)V
        12: .line 229
            aload 10
            athrow
        13: .line 231
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
        14: .line 232
            aload 1 /* context */
            invokestatic org.jruby.runtime.ThreadContext.popBacktrace:(Lorg/jruby/runtime/ThreadContext;)V
        15: .line 233
            aload 12
            athrow
        end local 9 // org.jruby.runtime.Block block
        end local 8 // org.jruby.runtime.builtin.IRubyObject arg3
        end local 7 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 5 // java.lang.String name
        end local 4 // org.jruby.runtime.builtin.IRubyObject self
        end local 3 // org.jruby.RubyModule implClass
        end local 2 // org.jruby.ir.interpreter.InterpreterContext ic
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            0   16     1    context  Lorg/jruby/runtime/ThreadContext;
            0   16     2         ic  Lorg/jruby/ir/interpreter/InterpreterContext;
            0   16     3  implClass  Lorg/jruby/RubyModule;
            0   16     4       self  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     5       name  Ljava/lang/String;
            0   16     6       arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     7       arg2  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     8       arg3  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     9      block  Lorg/jruby/runtime/Block;
      Exception table:
        from    to  target  type
           5     7      10  any
           0     3      13  any
           5     8      13  any
          10    13      13  any
    MethodParameters:
           Name  Flags
      context    
      ic         
      implClass  
      self       
      name       
      arg1       
      arg2       
      arg3       
      block      

  private void doDebug();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
         0: .line 243
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.ensureInstrsReady:()Lorg/jruby/ir/interpreter/InterpreterContext;
            pop
         1: .line 244
            getstatic org.jruby.internal.runtime.methods.MixedModeIRMethod.LOG:Lorg/jruby/util/log/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Executing '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.method:Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.getId:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 245
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.displayedCFG:Z
            ifne 5
         3: .line 246
            getstatic org.jruby.internal.runtime.methods.MixedModeIRMethod.LOG:Lorg/jruby/util/log/Logger;
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.method:Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.debugOutput:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 247
            aload 0 /* this */
            iconst_1
            putfield org.jruby.internal.runtime.methods.MixedModeIRMethod.displayedCFG:Z
         5: .line 249
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;

  public void completeBuild(org.jruby.internal.runtime.methods.DynamicMethod);
    descriptor: (Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
        start local 1 // org.jruby.internal.runtime.methods.DynamicMethod newMethod
         0: .line 253
            aload 0 /* this */
            iconst_m1
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.setCallCount:(I)V
         1: .line 254
            aload 1 /* newMethod */
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.serialNumber:J
            putfield org.jruby.internal.runtime.methods.DynamicMethod.serialNumber:J
         2: .line 255
            aload 0 /* this */
            aload 1 /* newMethod */
            putfield org.jruby.internal.runtime.methods.MixedModeIRMethod.actualMethod:Lorg/jruby/internal/runtime/methods/DynamicMethod;
         3: .line 256
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.getImplementationClass:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyModule.invalidateCacheDescendants:()V
         4: .line 257
            return
        end local 1 // org.jruby.internal.runtime.methods.DynamicMethod newMethod
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            0    5     1  newMethod  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
           Name  Flags
      newMethod  

  public org.jruby.internal.runtime.methods.DynamicMethod dup();
    descriptor: ()Lorg/jruby/internal/runtime/methods/DynamicMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
         0: .line 261
            aload 0 /* this */
            invokespecial org.jruby.internal.runtime.AbstractIRMethod.dup:()Lorg/jruby/internal/runtime/methods/DynamicMethod;
            checkcast org.jruby.internal.runtime.methods.MixedModeIRMethod
            astore 1 /* x */
        start local 1 // org.jruby.internal.runtime.methods.MixedModeIRMethod x
         1: .line 262
            aload 1 /* x */
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.callCount:I
            putfield org.jruby.internal.runtime.methods.MixedModeIRMethod.callCount:I
         2: .line 263
            aload 1 /* x */
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.MixedModeIRMethod.actualMethod:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            putfield org.jruby.internal.runtime.methods.MixedModeIRMethod.actualMethod:Lorg/jruby/internal/runtime/methods/DynamicMethod;
         3: .line 265
            aload 1 /* x */
            areturn
        end local 1 // org.jruby.internal.runtime.methods.MixedModeIRMethod x
        end local 0 // org.jruby.internal.runtime.methods.MixedModeIRMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;
            1    4     1     x  Lorg/jruby/internal/runtime/methods/MixedModeIRMethod;

  public void completeBuild(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.jruby.internal.runtime.methods.DynamicMethod
            invokevirtual org.jruby.internal.runtime.methods.MixedModeIRMethod.completeBuild:(Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/jruby/internal/runtime/AbstractIRMethod;Lorg/jruby/compiler/Compilable<Lorg/jruby/internal/runtime/methods/DynamicMethod;>;
SourceFile: "MixedModeIRMethod.java"