public class org.jruby.runtime.marshal.UnmarshalStream extends java.io.InputStream
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.runtime.marshal.UnmarshalStream
  super_class: java.io.InputStream
{
  protected final org.jruby.Ruby runtime;
    descriptor: Lorg/jruby/Ruby;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final org.jruby.runtime.marshal.UnmarshalCache cache;
    descriptor: Lorg/jruby/runtime/marshal/UnmarshalCache;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.jruby.runtime.builtin.IRubyObject proc;
    descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.InputStream inputStream;
    descriptor: Ljava/io/InputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean taint;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  public void <init>(org.jruby.Ruby, java.io.InputStream, org.jruby.runtime.builtin.IRubyObject, boolean);
    descriptor: (Lorg/jruby/Ruby;Ljava/io/InputStream;Lorg/jruby/runtime/builtin/IRubyObject;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.io.InputStream in
        start local 3 // org.jruby.runtime.builtin.IRubyObject proc
        start local 4 // boolean taint
         0: .line 80
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 81
            getstatic org.jruby.runtime.marshal.UnmarshalStream.$assertionsDisabled:Z
            ifne 2
            aload 1 /* runtime */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 82
      StackMap locals: org.jruby.runtime.marshal.UnmarshalStream org.jruby.Ruby java.io.InputStream org.jruby.runtime.builtin.IRubyObject int
      StackMap stack:
            getstatic org.jruby.runtime.marshal.UnmarshalStream.$assertionsDisabled:Z
            ifne 3
            aload 2 /* in */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 85
      StackMap locals:
      StackMap stack:
            aload 3 /* proc */
            ifnonnull 4
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* proc */
         4: .line 87
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* runtime */
            putfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
         5: .line 88
            aload 0 /* this */
            new org.jruby.runtime.marshal.UnmarshalCache
            dup
            aload 1 /* runtime */
            invokespecial org.jruby.runtime.marshal.UnmarshalCache.<init>:(Lorg/jruby/Ruby;)V
            putfield org.jruby.runtime.marshal.UnmarshalStream.cache:Lorg/jruby/runtime/marshal/UnmarshalCache;
         6: .line 89
            aload 0 /* this */
            aload 3 /* proc */
            putfield org.jruby.runtime.marshal.UnmarshalStream.proc:Lorg/jruby/runtime/builtin/IRubyObject;
         7: .line 90
            aload 0 /* this */
            aload 2 /* in */
            putfield org.jruby.runtime.marshal.UnmarshalStream.inputStream:Ljava/io/InputStream;
         8: .line 91
            aload 0 /* this */
            iload 4 /* taint */
            putfield org.jruby.runtime.marshal.UnmarshalStream.taint:Z
         9: .line 93
            aload 2 /* in */
            invokevirtual java.io.InputStream.read:()I
            istore 5 /* major */
        start local 5 // int major
        10: .line 94
            aload 2 /* in */
            invokevirtual java.io.InputStream.read:()I
            istore 6 /* minor */
        start local 6 // int minor
        11: .line 96
            iload 5 /* major */
            iconst_m1
            if_icmpeq 12
            iload 6 /* minor */
            iconst_m1
            if_icmpne 13
        12: .line 97
      StackMap locals: int int
      StackMap stack:
            new java.io.EOFException
            dup
            ldc "Unexpected end of stream"
            invokespecial java.io.EOFException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 100
      StackMap locals:
      StackMap stack:
            iload 5 /* major */
            iconst_4
            if_icmpne 14
            iload 6 /* minor */
            bipush 8
            if_icmple 15
        14: .line 101
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            ldc "incompatible marshal file format (can't be read)\n\tformat version %d.%d required; %d.%d given"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            bipush 8
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 5 /* major */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            iload 6 /* minor */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        15: .line 103
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int minor
        end local 5 // int major
        end local 4 // boolean taint
        end local 3 // org.jruby.runtime.builtin.IRubyObject proc
        end local 2 // java.io.InputStream in
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            0   16     1  runtime  Lorg/jruby/Ruby;
            0   16     2       in  Ljava/io/InputStream;
            0   16     3     proc  Lorg/jruby/runtime/builtin/IRubyObject;
            0   16     4    taint  Z
           10   16     5    major  I
           11   16     6    minor  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      runtime  
      in       
      proc     
      taint    

  public org.jruby.runtime.builtin.IRubyObject unmarshalObject();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
         0: .line 107
            aload 0 /* this */
            new org.jruby.runtime.marshal.UnmarshalStream$MarshalState
            dup
            iconst_0
            invokespecial org.jruby.runtime.marshal.UnmarshalStream$MarshalState.<init>:(Z)V
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:(Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/marshal/UnmarshalStream;
    Exceptions:
      throws java.io.IOException

  public org.jruby.runtime.builtin.IRubyObject unmarshalObject(boolean);
    descriptor: (Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
        start local 1 // boolean callProc
         0: .line 112
            aload 0 /* this */
            new org.jruby.runtime.marshal.UnmarshalStream$MarshalState
            dup
            iconst_0
            invokespecial org.jruby.runtime.marshal.UnmarshalStream$MarshalState.<init>:(Z)V
            iload 1 /* callProc */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:(Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // boolean callProc
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            0    1     1  callProc  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      callProc  

  private org.jruby.runtime.builtin.IRubyObject unmarshalObject(org.jruby.runtime.marshal.UnmarshalStream$MarshalState);
    descriptor: (Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
        start local 1 // org.jruby.runtime.marshal.UnmarshalStream$MarshalState state
         0: .line 134
            aload 0 /* this */
            aload 1 /* state */
            iconst_1
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:(Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.marshal.UnmarshalStream$MarshalState state
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            0    1     1  state  Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      state  

  private org.jruby.runtime.builtin.IRubyObject unmarshalObject(org.jruby.runtime.marshal.UnmarshalStream$MarshalState, boolean);
    descriptor: (Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
        start local 1 // org.jruby.runtime.marshal.UnmarshalStream$MarshalState state
        start local 2 // boolean callProc
         0: .line 139
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.readUnsignedByte:()I
            istore 3 /* type */
        start local 3 // int type
         1: .line 141
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.cache:Lorg/jruby/runtime/marshal/UnmarshalCache;
            iload 3 /* type */
            invokevirtual org.jruby.runtime.marshal.UnmarshalCache.isLinkType:(I)Z
            ifeq 4
         2: .line 142
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.cache:Lorg/jruby/runtime/marshal/UnmarshalCache;
            aload 0 /* this */
            iload 3 /* type */
            invokevirtual org.jruby.runtime.marshal.UnmarshalCache.readLink:(Lorg/jruby/runtime/marshal/UnmarshalStream;I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* result */
        start local 4 // org.jruby.runtime.builtin.IRubyObject result
         3: .line 143
            iload 2 /* callProc */
            ifeq 5
            aload 0 /* this */
            aload 4 /* result */
            iload 3 /* type */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.doCallProcForLink:(Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject result
         4: .line 145
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* type */
            aload 1 /* state */
            iload 2 /* callProc */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObjectDirectly:(ILorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* result */
        start local 4 // org.jruby.runtime.builtin.IRubyObject result
         5: .line 149
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 4 /* result */
            instanceof org.jruby.RubyNumeric
            ifne 8
         6: .line 150
            aload 4 /* result */
            instanceof org.jruby.RubyEncoding
            ifne 8
         7: .line 152
            aload 4 /* result */
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.taint:Z
            invokeinterface org.jruby.runtime.builtin.IRubyObject.setTaint:(Z)V
         8: .line 155
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject result
        end local 3 // int type
        end local 2 // boolean callProc
        end local 1 // org.jruby.runtime.marshal.UnmarshalStream$MarshalState state
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            0    9     1     state  Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;
            0    9     2  callProc  Z
            1    9     3      type  I
            3    4     4    result  Lorg/jruby/runtime/builtin/IRubyObject;
            5    9     4    result  Lorg/jruby/runtime/builtin/IRubyObject;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      state     
      callProc  

  public void registerLinkTarget(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.marshal.UnmarshalStream this
        start local 1 // org.jruby.runtime.builtin.IRubyObject newObject
         0: .line 159
            aload 1 /* newObject */
            invokestatic org.jruby.runtime.marshal.MarshalStream.shouldBeRegistered:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 2
         1: .line 160
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.cache:Lorg/jruby/runtime/marshal/UnmarshalCache;
            aload 1 /* newObject */
            invokevirtual org.jruby.runtime.marshal.UnmarshalCache.register:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 162
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.runtime.builtin.IRubyObject newObject
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            0    3     1  newObject  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
           Name  Flags
      newObject  

  public static org.jruby.RubyModule getModuleFromPath(org.jruby.Ruby, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyModule;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String path
         0: .line 165
            aload 0 /* runtime */
            aload 1 /* path */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getArgumentError:()Lorg/jruby/RubyClass;
            iconst_0
            invokevirtual org.jruby.Ruby.getClassFromPath:(Ljava/lang/String;Lorg/jruby/RubyClass;Z)Lorg/jruby/RubyModule;
            astore 2 /* value */
        start local 2 // org.jruby.RubyModule value
         1: .line 166
            aload 2 /* value */
            ifnonnull 2
            aload 0 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "undefined class/module "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 167
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.isModule:()Z
            ifne 3
            aload 0 /* runtime */
            new java.lang.StringBuilder
            dup
            aload 1 /* path */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " does not refer module"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 168
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 2 // org.jruby.RubyModule value
        end local 1 // java.lang.String path
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  runtime  Lorg/jruby/Ruby;
            0    4     1     path  Ljava/lang/String;
            1    4     2    value  Lorg/jruby/RubyModule;
    MethodParameters:
         Name  Flags
      runtime  
      path     

  public static org.jruby.RubyClass getClassFromPath(org.jruby.Ruby, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String path
         0: .line 172
            aload 0 /* runtime */
            aload 1 /* path */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getArgumentError:()Lorg/jruby/RubyClass;
            iconst_0
            invokevirtual org.jruby.Ruby.getClassFromPath:(Ljava/lang/String;Lorg/jruby/RubyClass;Z)Lorg/jruby/RubyModule;
            astore 2 /* value */
        start local 2 // org.jruby.RubyModule value
         1: .line 173
            aload 2 /* value */
            ifnonnull 2
            aload 0 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "undefined class/module "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 174
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 2 /* value */
            invokevirtual org.jruby.RubyModule.isClass:()Z
            ifne 3
            aload 0 /* runtime */
            new java.lang.StringBuilder
            dup
            aload 1 /* path */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " does not refer class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 175
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast org.jruby.RubyClass
            areturn
        end local 2 // org.jruby.RubyModule value
        end local 1 // java.lang.String path
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  runtime  Lorg/jruby/Ruby;
            0    4     1     path  Ljava/lang/String;
            1    4     2    value  Lorg/jruby/RubyModule;
    MethodParameters:
         Name  Flags
      runtime  
      path     

  private org.jruby.runtime.builtin.IRubyObject doCallProcForLink(org.jruby.runtime.builtin.IRubyObject, int);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
        start local 1 // org.jruby.runtime.builtin.IRubyObject result
        start local 2 // int type
         0: .line 179
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.proc:Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 2
            iload 2 /* type */
            bipush 59
            if_icmpeq 2
         1: .line 181
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.proc:Lorg/jruby/runtime/builtin/IRubyObject;
            ldc "call"
            aload 1 /* result */
            invokestatic org.jruby.runtime.Helpers.invoke:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 183
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 2 // int type
        end local 1 // org.jruby.runtime.builtin.IRubyObject result
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            0    3     1  result  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2    type  I
    MethodParameters:
        Name  Flags
      result  
      type    

  private org.jruby.runtime.builtin.IRubyObject doCallProcForObj(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
        start local 1 // org.jruby.runtime.builtin.IRubyObject result
         0: .line 187
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.proc:Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 2
         1: .line 189
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.proc:Lorg/jruby/runtime/builtin/IRubyObject;
            ldc "call"
            aload 1 /* result */
            invokestatic org.jruby.runtime.Helpers.invoke:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 191
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject result
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            0    3     1  result  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
        Name  Flags
      result  

  private org.jruby.runtime.builtin.IRubyObject unmarshalObjectDirectly(int, org.jruby.runtime.marshal.UnmarshalStream$MarshalState, boolean);
    descriptor: (ILorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
        start local 1 // int type
        start local 2 // org.jruby.runtime.marshal.UnmarshalStream$MarshalState state
        start local 3 // boolean callProc
         0: .line 196
            iload 1 /* type */
            lookupswitch { // 21
                   34: 12
                   47: 18
                   48: 6
                   58: 20
                   67: 48
                   70: 10
                   73: 1
                   83: 40
                   84: 8
                   85: 46
                   91: 22
                   99: 28
                  101: 32
                  102: 16
                  105: 14
                  108: 38
                  109: 30
                  111: 42
                  117: 44
                  123: 24
                  125: 26
              default: 50
          }
         1: .line 198
      StackMap locals:
      StackMap stack:
            new org.jruby.runtime.marshal.UnmarshalStream$MarshalState
            dup
            iconst_1
            invokespecial org.jruby.runtime.marshal.UnmarshalStream$MarshalState.<init>:(Z)V
            astore 5 /* childState */
        start local 5 // org.jruby.runtime.marshal.UnmarshalStream$MarshalState childState
         2: .line 199
            aload 0 /* this */
            aload 5 /* childState */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:(Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
         3: .line 200
            aload 5 /* childState */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream$MarshalState.isIvarWaiting:()Z
            ifeq 5
         4: .line 201
            aload 0 /* this */
            aload 4 /* rubyObj */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.defaultVariablesUnmarshal:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         5: .line 203
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.marshal.UnmarshalStream$MarshalState
      StackMap stack:
            aload 4 /* rubyObj */
            areturn
        end local 5 // org.jruby.runtime.marshal.UnmarshalStream$MarshalState childState
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
         6: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
         7: .line 206
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
         8: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
         9: .line 209
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        10: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        11: .line 212
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        12: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.jruby.RubyString.unmarshalFrom:(Lorg/jruby/runtime/marshal/UnmarshalStream;)Lorg/jruby/RubyString;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        13: .line 215
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        14: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.jruby.RubyFixnum.unmarshalFrom:(Lorg/jruby/runtime/marshal/UnmarshalStream;)Lorg/jruby/RubyFixnum;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        15: .line 218
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        16: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.jruby.RubyFloat.unmarshalFrom:(Lorg/jruby/runtime/marshal/UnmarshalStream;)Lorg/jruby/RubyFloat;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        17: .line 221
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        18: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* state */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalRegexp:(Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        19: .line 224
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        20: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* state */
            invokestatic org.jruby.RubySymbol.unmarshalFrom:(Lorg/jruby/runtime/marshal/UnmarshalStream;Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;)Lorg/jruby/RubySymbol;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        21: .line 227
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        22: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.jruby.RubyArray.unmarshalFrom:(Lorg/jruby/runtime/marshal/UnmarshalStream;)Lorg/jruby/RubyArray;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        23: .line 230
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        24: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokestatic org.jruby.RubyHash.unmarshalFrom:(Lorg/jruby/runtime/marshal/UnmarshalStream;Z)Lorg/jruby/RubyHash;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        25: .line 233
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        26: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokestatic org.jruby.RubyHash.unmarshalFrom:(Lorg/jruby/runtime/marshal/UnmarshalStream;Z)Lorg/jruby/RubyHash;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        27: .line 237
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        28: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.jruby.RubyClass.unmarshalFrom:(Lorg/jruby/runtime/marshal/UnmarshalStream;)Lorg/jruby/RubyClass;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        29: .line 240
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        30: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.jruby.RubyModule.unmarshalFrom:(Lorg/jruby/runtime/marshal/UnmarshalStream;)Lorg/jruby/RubyModule;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        31: .line 243
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        32: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubySymbol
            astore 6 /* moduleName */
        start local 6 // org.jruby.RubySymbol moduleName
        33: .line 246
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            aload 6 /* moduleName */
            invokevirtual org.jruby.RubySymbol.asJavaString:()Ljava/lang/String;
            invokestatic org.jruby.runtime.marshal.UnmarshalStream.getModuleFromPath:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyModule;
            astore 7 /* tp */
        start local 7 // org.jruby.RubyModule tp
        34: .line 248
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        35: .line 250
            aload 7 /* tp */
            aload 4 /* rubyObj */
            invokevirtual org.jruby.RubyModule.extend_object:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        36: .line 251
            aload 7 /* tp */
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            ldc "extended"
            aload 4 /* rubyObj */
            invokevirtual org.jruby.RubyModule.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        37: .line 252
            goto 51
        end local 7 // org.jruby.RubyModule tp
        end local 6 // org.jruby.RubySymbol moduleName
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        38: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.jruby.RubyBignum.unmarshalFrom:(Lorg/jruby/runtime/marshal/UnmarshalStream;)Lorg/jruby/RubyNumeric;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        39: .line 255
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        40: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.jruby.RubyStruct.unmarshalFrom:(Lorg/jruby/runtime/marshal/UnmarshalStream;)Lorg/jruby/RubyStruct;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        41: .line 258
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        42: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.defaultObjectUnmarshal:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        43: .line 261
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        44: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* state */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.userUnmarshal:(Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        45: .line 264
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        46: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.userNewUnmarshal:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        47: .line 267
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        48: .line 269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.uclassUnmarshall:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* rubyObj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        49: .line 270
            goto 51
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        50: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "dump format error("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* type */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        start local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        51: .line 275
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            iload 3 /* callProc */
            ifeq 53
        52: .line 276
            aload 0 /* this */
            aload 4 /* rubyObj */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.doCallProcForObj:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        53: .line 279
      StackMap locals:
      StackMap stack:
            aload 4 /* rubyObj */
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject rubyObj
        end local 3 // boolean callProc
        end local 2 // org.jruby.runtime.marshal.UnmarshalStream$MarshalState state
        end local 1 // int type
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   54     0        this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            0   54     1        type  I
            0   54     2       state  Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;
            0   54     3    callProc  Z
            3    6     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
            7    8     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
            9   10     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           11   12     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           13   14     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           15   16     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           17   18     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           19   20     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           21   22     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           23   24     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           25   26     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           27   28     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           29   30     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           31   32     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           35   38     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           39   40     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           41   42     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           43   44     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           45   46     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           47   48     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           49   50     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
           51   54     4     rubyObj  Lorg/jruby/runtime/builtin/IRubyObject;
            2    6     5  childState  Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;
           33   38     6  moduleName  Lorg/jruby/RubySymbol;
           34   38     7          tp  Lorg/jruby/RubyModule;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      type      
      state     
      callProc  

  private org.jruby.runtime.builtin.IRubyObject unmarshalRegexp(org.jruby.runtime.marshal.UnmarshalStream$MarshalState);
    descriptor: (Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=14, args_size=2
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
        start local 1 // org.jruby.runtime.marshal.UnmarshalStream$MarshalState state
         0: .line 283
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalString:()Lorg/jruby/util/ByteList;
            astore 2 /* byteList */
        start local 2 // org.jruby.util.ByteList byteList
         1: .line 284
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.readSignedByte:()B
            istore 3 /* opts */
        start local 3 // byte opts
         2: .line 285
            iload 3 /* opts */
            invokestatic org.jruby.util.RegexpOptions.fromJoniOptions:(I)Lorg/jruby/util/RegexpOptions;
            astore 4 /* reOpts */
        start local 4 // org.jruby.util.RegexpOptions reOpts
         3: .line 287
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getRegexp:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.allocate:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyRegexp
            astore 5 /* regexp */
        start local 5 // org.jruby.RubyRegexp regexp
         4: .line 288
            aload 0 /* this */
            aload 5 /* regexp */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         5: .line 290
            aconst_null
            astore 6 /* ivarHolder */
        start local 6 // org.jruby.runtime.builtin.IRubyObject ivarHolder
         6: .line 292
            aload 1 /* state */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream$MarshalState.isIvarWaiting:()Z
            ifeq 12
         7: .line 293
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            aload 2 /* byteList */
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            astore 7 /* tmpStr */
        start local 7 // org.jruby.RubyString tmpStr
         8: .line 294
            aload 0 /* this */
            aload 7 /* tmpStr */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.defaultVariablesUnmarshal:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         9: .line 295
            aload 7 /* tmpStr */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 2 /* byteList */
        10: .line 296
            aload 1 /* state */
            iconst_0
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream$MarshalState.setIvarWaiting:(Z)V
        11: .line 297
            aload 7 /* tmpStr */
            astore 6 /* ivarHolder */
        end local 7 // org.jruby.RubyString tmpStr
        12: .line 299
      StackMap locals: org.jruby.runtime.marshal.UnmarshalStream org.jruby.runtime.marshal.UnmarshalStream$MarshalState org.jruby.util.ByteList int org.jruby.util.RegexpOptions org.jruby.RubyRegexp org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2 /* byteList */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            if_acmpne 28
        13: .line 301
            aload 2 /* byteList */
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 7 /* ptrBytes */
        start local 7 // byte[] ptrBytes
        14: .line 302
            aload 2 /* byteList */
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 8 /* ptr */
        start local 8 // int ptr
        15: .line 303
            iload 8 /* ptr */
            istore 9 /* dst */
        start local 9 // int dst
        16: .line 304
            iload 8 /* ptr */
            istore 10 /* src */
        start local 10 // int src
        17: .line 305
            aload 2 /* byteList */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            istore 11 /* len */
        start local 11 // int len
        18: .line 306
            lconst_0
            lstore 12 /* bs */
        start local 12 // long bs
        19: .line 307
            goto 26
        20: .line 308
      StackMap locals: org.jruby.runtime.marshal.UnmarshalStream org.jruby.runtime.marshal.UnmarshalStream$MarshalState org.jruby.util.ByteList int org.jruby.util.RegexpOptions org.jruby.RubyRegexp org.jruby.runtime.builtin.IRubyObject byte[] int int int int long
      StackMap stack:
            aload 7 /* ptrBytes */
            iload 10 /* src */
            baload
            tableswitch { // 69 - 121
                   69: 23
                   70: 23
                   71: 24
                   72: 23
                   73: 23
                   74: 23
                   75: 23
                   76: 23
                   77: 24
                   78: 23
                   79: 23
                   80: 23
                   81: 23
                   82: 23
                   83: 23
                   84: 23
                   85: 23
                   86: 23
                   87: 24
                   88: 23
                   89: 23
                   90: 24
                   91: 24
                   92: 21
                   93: 24
                   94: 24
                   95: 24
                   96: 24
                   97: 24
                   98: 24
                   99: 24
                  100: 24
                  101: 24
                  102: 24
                  103: 23
                  104: 23
                  105: 23
                  106: 23
                  107: 23
                  108: 23
                  109: 23
                  110: 24
                  111: 23
                  112: 23
                  113: 23
                  114: 24
                  115: 24
                  116: 24
                  117: 23
                  118: 24
                  119: 24
                  120: 24
                  121: 23
              default: 24
          }
        21: .line 310
      StackMap locals:
      StackMap stack:
            lload 12 /* bs */
            lconst_1
            ladd
            lstore 12 /* bs */
        22: .line 311
            goto 25
        23: .line 342
      StackMap locals:
      StackMap stack:
            lload 12 /* bs */
            lconst_1
            land
            lconst_0
            lcmp
            ifeq 24
            iinc 9 /* dst */ -1
        24: .line 344
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 12 /* bs */
        25: .line 307
      StackMap locals:
      StackMap stack:
            aload 7 /* ptrBytes */
            iload 9 /* dst */
            iinc 9 /* dst */ 1
            aload 7 /* ptrBytes */
            iload 10 /* src */
            iinc 10 /* src */ 1
            baload
            bastore
      StackMap locals:
      StackMap stack:
        26: iload 11 /* len */
            iinc 11 /* len */ -1
            ifgt 20
        27: .line 348
            aload 2 /* byteList */
            iload 9 /* dst */
            iload 8 /* ptr */
            isub
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
        end local 12 // long bs
        end local 11 // int len
        end local 10 // int src
        end local 9 // int dst
        end local 8 // int ptr
        end local 7 // byte[] ptrBytes
        28: .line 351
      StackMap locals: org.jruby.runtime.marshal.UnmarshalStream org.jruby.runtime.marshal.UnmarshalStream$MarshalState org.jruby.util.ByteList int org.jruby.util.RegexpOptions org.jruby.RubyRegexp org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 5 /* regexp */
            aload 2 /* byteList */
            aload 2 /* byteList */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            aload 4 /* reOpts */
            invokevirtual org.jruby.RubyRegexp.regexpInitialize:(Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;Lorg/jruby/util/RegexpOptions;)Lorg/jruby/RubyRegexp;
            pop
        29: .line 353
            aload 6 /* ivarHolder */
            ifnull 31
        30: .line 354
            aload 6 /* ivarHolder */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getInstanceVariables:()Lorg/jruby/runtime/builtin/InstanceVariables;
            aload 5 /* regexp */
            invokeinterface org.jruby.runtime.builtin.InstanceVariables.copyInstanceVariablesInto:(Lorg/jruby/runtime/builtin/InstanceVariables;)V
        31: .line 357
      StackMap locals:
      StackMap stack:
            aload 5 /* regexp */
            areturn
        end local 6 // org.jruby.runtime.builtin.IRubyObject ivarHolder
        end local 5 // org.jruby.RubyRegexp regexp
        end local 4 // org.jruby.util.RegexpOptions reOpts
        end local 3 // byte opts
        end local 2 // org.jruby.util.ByteList byteList
        end local 1 // org.jruby.runtime.marshal.UnmarshalStream$MarshalState state
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   32     0        this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            0   32     1       state  Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;
            1   32     2    byteList  Lorg/jruby/util/ByteList;
            2   32     3        opts  B
            3   32     4      reOpts  Lorg/jruby/util/RegexpOptions;
            4   32     5      regexp  Lorg/jruby/RubyRegexp;
            6   32     6  ivarHolder  Lorg/jruby/runtime/builtin/IRubyObject;
            8   12     7      tmpStr  Lorg/jruby/RubyString;
           14   28     7    ptrBytes  [B
           15   28     8         ptr  I
           16   28     9         dst  I
           17   28    10         src  I
           18   28    11         len  I
           19   28    12          bs  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      state  

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

  public int readUnsignedByte();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
         0: .line 365
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.read:()I
            istore 1 /* result */
        start local 1 // int result
         1: .line 366
            iload 1 /* result */
            iconst_m1
            if_icmpne 3
         2: .line 367
            new java.io.EOFException
            dup
            ldc "Unexpected end of stream"
            invokespecial java.io.EOFException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 369
      StackMap locals: int
      StackMap stack:
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            1    4     1  result  I
    Exceptions:
      throws java.io.IOException

  public byte readSignedByte();
    descriptor: ()B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
         0: .line 373
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.readUnsignedByte:()I
            istore 1 /* b */
        start local 1 // int b
         1: .line 374
            iload 1 /* b */
            bipush 127
            if_icmple 3
         2: .line 375
            iload 1 /* b */
            sipush 256
            isub
            i2b
            ireturn
         3: .line 377
      StackMap locals: int
      StackMap stack:
            iload 1 /* b */
            i2b
            ireturn
        end local 1 // int b
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            1    4     1     b  I
    Exceptions:
      throws java.io.IOException

  public org.jruby.util.ByteList unmarshalString();
    descriptor: ()Lorg/jruby/util/ByteList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
         0: .line 381
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalInt:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 382
            iload 1 /* length */
            newarray 8
            astore 2 /* buffer */
        start local 2 // byte[] buffer
         2: .line 384
            iconst_0
            istore 3 /* readLength */
        start local 3 // int readLength
         3: .line 385
            goto 8
         4: .line 386
      StackMap locals: int byte[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.inputStream:Ljava/io/InputStream;
            aload 2 /* buffer */
            iload 3 /* readLength */
            iload 1 /* length */
            iload 3 /* readLength */
            isub
            invokevirtual java.io.InputStream.read:([BII)I
            istore 4 /* read */
        start local 4 // int read
         5: .line 388
            iload 4 /* read */
            iconst_m1
            if_icmpne 7
         6: .line 389
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.getRuntime:()Lorg/jruby/Ruby;
            ldc "marshal data too short"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 391
      StackMap locals: int
      StackMap stack:
            iload 3 /* readLength */
            iload 4 /* read */
            iadd
            istore 3 /* readLength */
        end local 4 // int read
         8: .line 385
      StackMap locals:
      StackMap stack:
            iload 3 /* readLength */
            iload 1 /* length */
            if_icmplt 4
         9: .line 394
            new org.jruby.util.ByteList
            dup
            aload 2 /* buffer */
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BZ)V
            areturn
        end local 3 // int readLength
        end local 2 // byte[] buffer
        end local 1 // int length
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            1   10     1      length  I
            2   10     2      buffer  [B
            3   10     3  readLength  I
            5    8     4        read  I
    Exceptions:
      throws java.io.IOException

  public int unmarshalInt();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
         0: .line 398
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.readSignedByte:()B
            istore 1 /* c */
        start local 1 // int c
         1: .line 399
            iload 1 /* c */
            ifne 3
         2: .line 400
            iconst_0
            ireturn
         3: .line 401
      StackMap locals: int
      StackMap stack:
            iconst_4
            iload 1 /* c */
            if_icmpge 5
            iload 1 /* c */
            sipush 128
            if_icmpge 5
         4: .line 402
            iload 1 /* c */
            iconst_5
            isub
            ireturn
         5: .line 403
      StackMap locals:
      StackMap stack:
            sipush -129
            iload 1 /* c */
            if_icmpge 7
            iload 1 /* c */
            bipush -4
            if_icmpge 7
         6: .line 404
            iload 1 /* c */
            iconst_5
            iadd
            ireturn
         7: .line 407
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            ifle 15
         8: .line 408
            lconst_0
            lstore 2 /* result */
        start local 2 // long result
         9: .line 409
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        10: goto 13
        11: .line 410
      StackMap locals: long int
      StackMap stack:
            lload 2 /* result */
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.readUnsignedByte:()I
            i2l
            bipush 8
            iload 4 /* i */
            imul
            lshl
            lor
            lstore 2 /* result */
        12: .line 409
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            iload 1 /* c */
            if_icmplt 11
        end local 4 // int i
        14: .line 412
            goto 23
        end local 2 // long result
        15: .line 413
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            ineg
            istore 1 /* c */
        16: .line 414
            ldc -1
            lstore 2 /* result */
        start local 2 // long result
        17: .line 415
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        18: goto 22
        19: .line 416
      StackMap locals: long int
      StackMap stack:
            lload 2 /* result */
            ldc 255
            bipush 8
            iload 4 /* i */
            imul
            lshl
            ldc -1
            lxor
            land
            lstore 2 /* result */
        20: .line 417
            lload 2 /* result */
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.readUnsignedByte:()I
            i2l
            bipush 8
            iload 4 /* i */
            imul
            lshl
            lor
            lstore 2 /* result */
        21: .line 415
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* i */
            iload 1 /* c */
            if_icmplt 19
        end local 4 // int i
        23: .line 420
      StackMap locals:
      StackMap stack:
            lload 2 /* result */
            l2i
            ireturn
        end local 2 // long result
        end local 1 // int c
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            1   24     1       c  I
            9   15     2  result  J
           17   24     2  result  J
           10   14     4       i  I
           18   23     4       i  I
    Exceptions:
      throws java.io.IOException

  private org.jruby.runtime.builtin.IRubyObject defaultObjectUnmarshal();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
         0: .line 424
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:(Z)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubySymbol
            astore 1 /* className */
        start local 1 // org.jruby.RubySymbol className
         1: .line 426
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            aload 1 /* className */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            invokestatic org.jruby.runtime.marshal.UnmarshalStream.getClassFromPath:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyClass;
            astore 2 /* type */
        start local 2 // org.jruby.RubyClass type
         2: .line 428
            aload 2 /* type */
            aload 0 /* this */
            invokevirtual org.jruby.RubyClass.unmarshal:(Lorg/jruby/runtime/marshal/UnmarshalStream;)Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            areturn
        end local 2 // org.jruby.RubyClass type
        end local 1 // org.jruby.RubySymbol className
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            1    3     1  className  Lorg/jruby/RubySymbol;
            2    3     2       type  Lorg/jruby/RubyClass;
    Exceptions:
      throws java.io.IOException

  public void defaultVariablesUnmarshal(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
        start local 1 // org.jruby.runtime.builtin.IRubyObject object
         0: .line 432
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalInt:()I
            istore 2 /* count */
        start local 2 // int count
         1: .line 434
            aload 1 /* object */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
            astore 3 /* cls */
        start local 3 // org.jruby.RubyClass cls
         2: .line 436
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 15
         4: .line 438
      StackMap locals: int org.jruby.RubyClass int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:(Z)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* key */
        start local 5 // org.jruby.runtime.builtin.IRubyObject key
         5: .line 440
            aload 1 /* object */
            instanceof org.jruby.runtime.encoding.EncodingCapable
            ifeq 11
         6: .line 442
            aload 1 /* object */
            checkcast org.jruby.runtime.encoding.EncodingCapable
            astore 6 /* strObj */
        start local 6 // org.jruby.runtime.encoding.EncodingCapable strObj
         7: .line 444
            aload 0 /* this */
            aload 5 /* key */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.getEncodingFromUnmarshaled:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
            astore 7 /* enc */
        start local 7 // org.jcodings.Encoding enc
         8: .line 446
            aload 7 /* enc */
            ifnull 11
         9: .line 448
            aload 6 /* strObj */
            aload 7 /* enc */
            invokeinterface org.jruby.runtime.encoding.EncodingCapable.setEncoding:(Lorg/jcodings/Encoding;)V
        10: .line 449
            goto 14
        end local 7 // org.jcodings.Encoding enc
        end local 6 // org.jruby.runtime.encoding.EncodingCapable strObj
        11: .line 453
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 5 /* key */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
        12: .line 454
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* value */
        start local 7 // org.jruby.runtime.builtin.IRubyObject value
        13: .line 456
            aload 3 /* cls */
            aload 6 /* name */
            invokevirtual org.jruby.RubyClass.getVariableAccessorForWrite:(Ljava/lang/String;)Lorg/jruby/runtime/ivars/VariableAccessor;
            aload 1 /* object */
            aload 7 /* value */
            invokevirtual org.jruby.runtime.ivars.VariableAccessor.set:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 7 // org.jruby.runtime.builtin.IRubyObject value
        end local 6 // java.lang.String name
        end local 5 // org.jruby.runtime.builtin.IRubyObject key
        14: .line 436
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            iload 2 /* count */
            if_icmplt 4
        end local 4 // int i
        16: .line 458
            return
        end local 3 // org.jruby.RubyClass cls
        end local 2 // int count
        end local 1 // org.jruby.runtime.builtin.IRubyObject object
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            0   17     1  object  Lorg/jruby/runtime/builtin/IRubyObject;
            1   17     2   count  I
            2   17     3     cls  Lorg/jruby/RubyClass;
            3   16     4       i  I
            5   14     5     key  Lorg/jruby/runtime/builtin/IRubyObject;
            7   11     6  strObj  Lorg/jruby/runtime/encoding/EncodingCapable;
            8   11     7     enc  Lorg/jcodings/Encoding;
           12   14     6    name  Ljava/lang/String;
           13   14     7   value  Lorg/jruby/runtime/builtin/IRubyObject;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      object  

  public org.jcodings.Encoding getEncodingFromUnmarshaled(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 461
            aconst_null
            astore 2 /* enc */
        start local 2 // org.jcodings.Encoding enc
         1: .line 463
            aload 1 /* key */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
            ldc "E"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         2: .line 466
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 5
         3: .line 467
            getstatic org.jcodings.specific.UTF8Encoding.INSTANCE:Lorg/jcodings/specific/UTF8Encoding;
            astore 2 /* enc */
         4: .line 468
            goto 15
         5: .line 469
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            astore 2 /* enc */
         6: .line 472
            goto 15
      StackMap locals:
      StackMap stack:
         7: aload 1 /* key */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
            ldc "encoding"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
         8: .line 474
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:(Z)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* encodingNameObj */
        start local 3 // org.jruby.runtime.builtin.IRubyObject encodingNameObj
         9: .line 475
            aload 3 /* encodingNameObj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
            astore 4 /* encodingNameStr */
        start local 4 // java.lang.String encodingNameStr
        10: .line 476
            new org.jruby.util.ByteList
            dup
            aload 4 /* encodingNameStr */
            invokestatic org.jruby.util.ByteList.plain:(Ljava/lang/CharSequence;)[B
            invokespecial org.jruby.util.ByteList.<init>:([B)V
            astore 5 /* encodingName */
        start local 5 // org.jruby.util.ByteList encodingName
        11: .line 478
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
            aload 5 /* encodingName */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingOrAliasEntry:(Lorg/jruby/util/ByteList;)Lorg/jcodings/EncodingDB$Entry;
            astore 6 /* entry */
        start local 6 // org.jcodings.EncodingDB$Entry entry
        12: .line 479
            aload 6 /* entry */
            ifnonnull 14
        13: .line 480
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "invalid encoding in marshaling stream: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* encodingName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        14: .line 482
      StackMap locals: org.jruby.runtime.marshal.UnmarshalStream org.jruby.runtime.builtin.IRubyObject org.jcodings.Encoding org.jruby.runtime.builtin.IRubyObject java.lang.String org.jruby.util.ByteList org.jcodings.EncodingDB$Entry
      StackMap stack:
            aload 6 /* entry */
            invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
            astore 2 /* enc */
        end local 6 // org.jcodings.EncodingDB$Entry entry
        end local 5 // org.jruby.util.ByteList encodingName
        end local 4 // java.lang.String encodingNameStr
        end local 3 // org.jruby.runtime.builtin.IRubyObject encodingNameObj
        15: .line 485
      StackMap locals: org.jruby.runtime.marshal.UnmarshalStream org.jruby.runtime.builtin.IRubyObject org.jcodings.Encoding
      StackMap stack:
            aload 2 /* enc */
            areturn
        end local 2 // org.jcodings.Encoding enc
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            0   16     1              key  Lorg/jruby/runtime/builtin/IRubyObject;
            1   16     2              enc  Lorg/jcodings/Encoding;
            9   15     3  encodingNameObj  Lorg/jruby/runtime/builtin/IRubyObject;
           10   15     4  encodingNameStr  Ljava/lang/String;
           11   15     5     encodingName  Lorg/jruby/util/ByteList;
           12   15     6            entry  Lorg/jcodings/EncodingDB$Entry;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      key   

  private org.jruby.runtime.builtin.IRubyObject uclassUnmarshall();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
         0: .line 489
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:(Z)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubySymbol
            astore 1 /* className */
        start local 1 // org.jruby.RubySymbol className
         1: .line 491
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            aload 1 /* className */
            invokevirtual org.jruby.RubySymbol.asJavaString:()Ljava/lang/String;
            invokestatic org.jruby.runtime.marshal.UnmarshalStream.getClassFromPath:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyClass;
            astore 2 /* type */
        start local 2 // org.jruby.RubyClass type
         2: .line 494
            aload 2 /* type */
            invokevirtual org.jruby.RubyClass.isSingleton:()Z
            ifeq 3
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            ldc "singleton can't be loaded"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 497
      StackMap locals: org.jruby.RubySymbol org.jruby.RubyClass
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyObject
            astore 3 /* result */
        start local 3 // org.jruby.RubyObject result
         4: .line 500
            aload 3 /* result */
            invokevirtual org.jruby.RubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getModule:()Lorg/jruby/RubyClass;
            if_acmpeq 5
            aload 2 /* type */
            aload 3 /* result */
            invokevirtual org.jruby.RubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.isKindOfModule:(Lorg/jruby/RubyModule;)Z
            ifne 7
         5: .line 503
      StackMap locals: org.jruby.RubyObject
      StackMap stack:
            aload 2 /* type */
            invokevirtual org.jruby.RubyClass.getAllocator:()Lorg/jruby/runtime/ObjectAllocator;
            aload 3 /* result */
            invokevirtual org.jruby.RubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getAllocator:()Lorg/jruby/runtime/ObjectAllocator;
            if_acmpeq 7
         6: .line 504
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            ldc "dump format error (user class)"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 508
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            aload 2 /* type */
            invokevirtual org.jruby.RubyObject.setMetaClass:(Lorg/jruby/RubyClass;)V
         8: .line 510
            aload 3 /* result */
            areturn
        end local 3 // org.jruby.RubyObject result
        end local 2 // org.jruby.RubyClass type
        end local 1 // org.jruby.RubySymbol className
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            1    9     1  className  Lorg/jruby/RubySymbol;
            2    9     2       type  Lorg/jruby/RubyClass;
            4    9     3     result  Lorg/jruby/RubyObject;
    Exceptions:
      throws java.io.IOException

  private org.jruby.runtime.builtin.IRubyObject userUnmarshal(org.jruby.runtime.marshal.UnmarshalStream$MarshalState);
    descriptor: (Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
        start local 1 // org.jruby.runtime.marshal.UnmarshalStream$MarshalState state
         0: .line 514
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:(Z)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
            astore 2 /* className */
        start local 2 // java.lang.String className
         1: .line 515
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalString:()Lorg/jruby/util/ByteList;
            astore 3 /* marshaled */
        start local 3 // org.jruby.util.ByteList marshaled
         2: .line 516
            aload 0 /* this */
            aload 2 /* className */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.findClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
            astore 4 /* classInstance */
        start local 4 // org.jruby.RubyClass classInstance
         3: .line 517
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            aload 3 /* marshaled */
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            astore 5 /* data */
        start local 5 // org.jruby.RubyString data
         4: .line 522
            aload 4 /* classInstance */
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getEncoding:()Lorg/jruby/RubyClass;
            if_acmpne 7
         5: .line 523
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 4 /* classInstance */
            aload 5 /* data */
            invokestatic org.jruby.RubyEncoding.find:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* unmarshaled */
        start local 6 // org.jruby.runtime.builtin.IRubyObject unmarshaled
         6: .line 524
            goto 11
        end local 6 // org.jruby.runtime.builtin.IRubyObject unmarshaled
         7: .line 525
      StackMap locals: org.jruby.runtime.marshal.UnmarshalStream org.jruby.runtime.marshal.UnmarshalStream$MarshalState java.lang.String org.jruby.util.ByteList org.jruby.RubyClass org.jruby.RubyString
      StackMap stack:
            aload 1 /* state */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream$MarshalState.isIvarWaiting:()Z
            ifeq 10
         8: .line 526
            aload 0 /* this */
            aload 5 /* data */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.defaultVariablesUnmarshal:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         9: .line 527
            aload 1 /* state */
            iconst_0
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream$MarshalState.setIvarWaiting:(Z)V
        10: .line 529
      StackMap locals:
      StackMap stack:
            aload 4 /* classInstance */
            aload 5 /* data */
            invokevirtual org.jruby.RubyClass.smartLoadOldUser:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* unmarshaled */
        start local 6 // org.jruby.runtime.builtin.IRubyObject unmarshaled
        11: .line 532
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 6 /* unmarshaled */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
        12: .line 534
            aload 6 /* unmarshaled */
            areturn
        end local 6 // org.jruby.runtime.builtin.IRubyObject unmarshaled
        end local 5 // org.jruby.RubyString data
        end local 4 // org.jruby.RubyClass classInstance
        end local 3 // org.jruby.util.ByteList marshaled
        end local 2 // java.lang.String className
        end local 1 // org.jruby.runtime.marshal.UnmarshalStream$MarshalState state
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            0   13     1          state  Lorg/jruby/runtime/marshal/UnmarshalStream$MarshalState;
            1   13     2      className  Ljava/lang/String;
            2   13     3      marshaled  Lorg/jruby/util/ByteList;
            3   13     4  classInstance  Lorg/jruby/RubyClass;
            4   13     5           data  Lorg/jruby/RubyString;
            6    7     6    unmarshaled  Lorg/jruby/runtime/builtin/IRubyObject;
           11   13     6    unmarshaled  Lorg/jruby/runtime/builtin/IRubyObject;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      state  

  private org.jruby.runtime.builtin.IRubyObject userNewUnmarshal();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
         0: .line 538
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:(Z)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asJavaString:()Ljava/lang/String;
            astore 1 /* className */
        start local 1 // java.lang.String className
         1: .line 539
            aload 0 /* this */
            aload 1 /* className */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.findClass:(Ljava/lang/String;)Lorg/jruby/RubyClass;
            astore 2 /* classInstance */
        start local 2 // org.jruby.RubyClass classInstance
         2: .line 540
            aload 2 /* classInstance */
            invokevirtual org.jruby.RubyClass.allocate:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* result */
        start local 3 // org.jruby.runtime.builtin.IRubyObject result
         3: .line 541
            aload 0 /* this */
            aload 3 /* result */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         4: .line 542
            aload 0 /* this */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* marshaled */
        start local 4 // org.jruby.runtime.builtin.IRubyObject marshaled
         5: .line 543
            aload 2 /* classInstance */
            aload 3 /* result */
            aload 4 /* marshaled */
            invokevirtual org.jruby.RubyClass.smartLoadNewUser:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject marshaled
        end local 3 // org.jruby.runtime.builtin.IRubyObject result
        end local 2 // org.jruby.RubyClass classInstance
        end local 1 // java.lang.String className
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            1    6     1      className  Ljava/lang/String;
            2    6     2  classInstance  Lorg/jruby/RubyClass;
            3    6     3         result  Lorg/jruby/runtime/builtin/IRubyObject;
            5    6     4      marshaled  Lorg/jruby/runtime/builtin/IRubyObject;
    Exceptions:
      throws java.io.IOException

  private org.jruby.RubyClass findClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/RubyClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
        start local 1 // java.lang.String className
         0: .line 547
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.runtime:Lorg/jruby/Ruby;
            aload 1 /* className */
            invokestatic org.jruby.runtime.marshal.UnmarshalStream.getClassFromPath:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyClass;
            areturn
        end local 1 // java.lang.String className
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            0    1     1  className  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      className  

  public int read();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
         0: .line 551
            aload 0 /* this */
            getfield org.jruby.runtime.marshal.UnmarshalStream.inputStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.read:()I
            ireturn
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/marshal/UnmarshalStream;
    Exceptions:
      throws java.io.IOException

  public void <init>(org.jruby.Ruby, java.io.InputStream, org.jruby.runtime.builtin.IRubyObject, boolean, boolean);
    descriptor: (Lorg/jruby/Ruby;Ljava/io/InputStream;Lorg/jruby/runtime/builtin/IRubyObject;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.io.InputStream in
        start local 3 // org.jruby.runtime.builtin.IRubyObject proc
        start local 4 // boolean taint
        start local 5 // boolean untrust
         0: .line 556
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* in */
            aload 3 /* proc */
            iload 4 /* taint */
            invokespecial org.jruby.runtime.marshal.UnmarshalStream.<init>:(Lorg/jruby/Ruby;Ljava/io/InputStream;Lorg/jruby/runtime/builtin/IRubyObject;Z)V
         1: .line 557
            return
        end local 5 // boolean untrust
        end local 4 // boolean taint
        end local 3 // org.jruby.runtime.builtin.IRubyObject proc
        end local 2 // java.io.InputStream in
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/runtime/marshal/UnmarshalStream;
            0    2     1  runtime  Lorg/jruby/Ruby;
            0    2     2       in  Ljava/io/InputStream;
            0    2     3     proc  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     4    taint  Z
            0    2     5  untrust  Z
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      runtime  
      in       
      proc     
      taint    
      untrust  
}
SourceFile: "UnmarshalStream.java"
NestMembers:
  org.jruby.runtime.marshal.UnmarshalStream$MarshalState
InnerClasses:
  public final Entry = org.jcodings.EncodingDB$Entry of org.jcodings.EncodingDB
  public MarshalState = org.jruby.runtime.marshal.UnmarshalStream$MarshalState of org.jruby.runtime.marshal.UnmarshalStream