public class org.jruby.ir.persistence.IRWriterStream implements org.jruby.ir.persistence.IRWriterEncoder, org.jruby.ir.persistence.IRPersistenceValues
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.ir.persistence.IRWriterStream
  super_class: java.lang.Object
{
  private final java.util.Map<org.jruby.ir.IRScope, java.lang.Integer> scopeInstructionOffsets;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/jruby/ir/IRScope;Ljava/lang/Integer;>;

  private final java.util.Map<org.jruby.ir.IRScope, java.lang.Integer> scopePoolOffsets;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/jruby/ir/IRScope;Ljava/lang/Integer;>;

  private final java.nio.ByteBuffer buf;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final org.jruby.ir.persistence.IRWriterAnalyzer analyzer;
    descriptor: Lorg/jruby/ir/persistence/IRWriterAnalyzer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.Map<org.jruby.RubySymbol, java.lang.Integer> constantMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Lorg/jruby/RubySymbol;Ljava/lang/Integer;>;

  int headersOffset;
    descriptor: I
    flags: (0x0000) 

  public void <init>(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // java.io.OutputStream stream
         0: .line 57
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 47
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.jruby.ir.persistence.IRWriterStream.scopeInstructionOffsets:Ljava/util/Map;
         2: .line 48
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.jruby.ir.persistence.IRWriterStream.scopePoolOffsets:Ljava/util/Map;
         3: .line 50
            aload 0 /* this */
            ldc 2097152
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            putfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
         4: .line 53
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.jruby.ir.persistence.IRWriterStream.constantMap:Ljava/util/Map;
         5: .line 55
            aload 0 /* this */
            iconst_m1
            putfield org.jruby.ir.persistence.IRWriterStream.headersOffset:I
         6: .line 58
            aload 0 /* this */
            aload 1 /* stream */
            putfield org.jruby.ir.persistence.IRWriterStream.stream:Ljava/io/OutputStream;
         7: .line 59
            aload 0 /* this */
            new org.jruby.ir.persistence.IRWriterAnalyzer
            dup
            invokespecial org.jruby.ir.persistence.IRWriterAnalyzer.<init>:()V
            putfield org.jruby.ir.persistence.IRWriterStream.analyzer:Lorg/jruby/ir/persistence/IRWriterAnalyzer;
         8: .line 60
            return
        end local 1 // java.io.OutputStream stream
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    9     1  stream  Ljava/io/OutputStream;
    MethodParameters:
        Name  Flags
      stream  

  public void <init>(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // java.io.File file
         0: .line 63
            aload 0 /* this */
            new java.io.FileOutputStream
            dup
            aload 1 /* file */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            invokespecial org.jruby.ir.persistence.IRWriterStream.<init>:(Ljava/io/OutputStream;)V
         1: .line 64
            return
        end local 1 // java.io.File file
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    2     1  file  Ljava/io/File;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
      Name  Flags
      file  

  public void addScopeInstructionOffset(org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.IRScope scope
         0: .line 70
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.scopeInstructionOffsets:Ljava/util/Map;
            aload 1 /* scope */
            aload 0 /* this */
            invokevirtual org.jruby.ir.persistence.IRWriterStream.offset:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 71
            return
        end local 1 // org.jruby.ir.IRScope scope
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    2     1  scope  Lorg/jruby/ir/IRScope;
    MethodParameters:
       Name  Flags
      scope  

  private int offset();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
         0: .line 74
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.position:()I
            bipush 8
            iadd
            ireturn
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/persistence/IRWriterStream;

  public int getScopeInstructionOffset(org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.IRScope scope
         0: .line 81
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.scopeInstructionOffsets:Ljava/util/Map;
            aload 1 /* scope */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 1 // org.jruby.ir.IRScope scope
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    1     1  scope  Lorg/jruby/ir/IRScope;
    MethodParameters:
       Name  Flags
      scope  

  public void encode(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // boolean value
         0: .line 86
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            ifeq 1
            bipush 116
            goto 2
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer
         1: bipush 102
      StackMap locals: org.jruby.ir.persistence.IRWriterStream int
      StackMap stack: java.nio.ByteBuffer int
         2: invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
         3: .line 87
            return
        end local 1 // boolean value
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    4     1  value  Z
    MethodParameters:
       Name  Flags
      value  

  public void encode(byte);
    descriptor: (B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // byte value
         0: .line 91
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
         1: .line 92
            return
        end local 1 // byte value
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    2     1  value  B
    MethodParameters:
       Name  Flags
      value  

  public void encode(char);
    descriptor: (C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // char value
         0: .line 96
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putChar:(C)Ljava/nio/ByteBuffer;
            pop
         1: .line 97
            return
        end local 1 // char value
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    2     1  value  C
    MethodParameters:
       Name  Flags
      value  

  public void encode(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // int value
         0: .line 104
            iload 1 /* value */
            iflt 3
            iload 1 /* value */
            bipush 127
            if_icmpgt 3
         1: .line 105
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
         2: .line 106
            goto 5
         3: .line 107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            iconst_m1
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
         4: .line 108
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            pop
         5: .line 110
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int value
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    6     1  value  I
    MethodParameters:
       Name  Flags
      value  

  public void encode(int[]);
    descriptor: ([I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // int[] value
         0: .line 114
            aload 0 /* this */
            aload 1 /* value */
            arraylength
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         1: .line 115
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 116
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* value */
            iload 2 /* i */
            iaload
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         4: .line 115
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* value */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 118
            return
        end local 1 // int[] value
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    7     1  value  [I
            2    6     2      i  I
    MethodParameters:
       Name  Flags
      value  

  public void encode(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // long value
         0: .line 122
            lload 1 /* value */
            lconst_0
            lcmp
            iflt 3
            lload 1 /* value */
            ldc 127
            lcmp
            ifgt 3
         1: .line 123
            aload 0 /* this */
            lload 1 /* value */
            l2i
            i2b
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(B)V
         2: .line 124
            goto 5
         3: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            iconst_m1
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
         4: .line 126
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            lload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
            pop
         5: .line 128
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long value
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    6     1  value  J
    MethodParameters:
       Name  Flags
      value  

  public void encode(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // float value
         0: .line 133
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            fload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putFloat:(F)Ljava/nio/ByteBuffer;
            pop
         1: .line 134
            return
        end local 1 // float value
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    2     1  value  F
    MethodParameters:
       Name  Flags
      value  

  public void encode(java.util.EnumSet<org.jruby.ir.IRFlags>);
    descriptor: (Ljava/util/EnumSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // java.util.EnumSet values
         0: .line 138
            iconst_0
            istore 2 /* value */
        start local 2 // int value
         1: .line 140
            aload 1 /* values */
            invokevirtual java.util.EnumSet.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.jruby.ir.persistence.IRWriterStream java.util.EnumSet int top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.IRFlags
            astore 3 /* flags */
        start local 3 // org.jruby.ir.IRFlags flags
         3: .line 141
            iload 2 /* value */
            iconst_1
            aload 3 /* flags */
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            ishl
            ior
            istore 2 /* value */
        end local 3 // org.jruby.ir.IRFlags flags
         4: .line 140
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 144
            aload 0 /* this */
            iload 2 /* value */
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         6: .line 145
            return
        end local 2 // int value
        end local 1 // java.util.EnumSet values
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    7     1  values  Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;
            1    7     2   value  I
            3    4     3   flags  Lorg/jruby/ir/IRFlags;
    Signature: (Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;)V
    MethodParameters:
        Name  Flags
      values  

  public void encode(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // double value
         0: .line 150
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            dload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putDouble:(D)Ljava/nio/ByteBuffer;
            pop
         1: .line 151
            return
        end local 1 // double value
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    2     1  value  D
    MethodParameters:
       Name  Flags
      value  

  public void encode(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.util.ByteList value
         0: .line 155
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.jruby.util.ByteList.bytes:()[B
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:([B)V
         1: .line 156
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(Lorg/jcodings/Encoding;)V
         2: .line 157
            return
        end local 1 // org.jruby.util.ByteList value
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    3     1  value  Lorg/jruby/util/ByteList;
    MethodParameters:
       Name  Flags
      value  

  public void encode(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // byte[] bytes
         0: .line 161
            aload 0 /* this */
            aload 1 /* bytes */
            arraylength
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         1: .line 162
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            aload 1 /* bytes */
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
            pop
         2: .line 163
            return
        end local 1 // byte[] bytes
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    3     1  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  

  public void encode(org.jcodings.Encoding);
    descriptor: (Lorg/jcodings/Encoding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jcodings.Encoding encoding
         0: .line 167
            aload 0 /* this */
            aload 1 /* encoding */
            invokevirtual org.jcodings.Encoding.getName:()[B
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:([B)V
         1: .line 168
            return
        end local 1 // org.jcodings.Encoding encoding
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    2     1  encoding  Lorg/jcodings/Encoding;
    MethodParameters:
          Name  Flags
      encoding  

  public void encode(org.jruby.RubySymbol);
    descriptor: (Lorg/jruby/RubySymbol;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.RubySymbol symbol
         0: .line 172
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.constantMap:Ljava/util/Map;
            aload 1 /* symbol */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* constantIndex */
        start local 2 // java.lang.Integer constantIndex
         1: .line 174
            aload 2 /* constantIndex */
            ifnull 4
         2: .line 175
            aload 0 /* this */
            aload 2 /* constantIndex */
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         3: .line 176
            goto 7
         4: .line 177
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.constantMap:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            istore 3 /* index */
        start local 3 // int index
         5: .line 178
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.constantMap:Ljava/util/Map;
            aload 1 /* symbol */
            iload 3 /* index */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 179
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
        end local 3 // int index
         7: .line 181
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Integer constantIndex
        end local 1 // org.jruby.RubySymbol symbol
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    8     1         symbol  Lorg/jruby/RubySymbol;
            1    8     2  constantIndex  Ljava/lang/Integer;
            5    7     3          index  I
    MethodParameters:
        Name  Flags
      symbol  

  public void encodeRaw(org.jruby.RubySymbol);
    descriptor: (Lorg/jruby/RubySymbol;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.RubySymbol symbol
         0: .line 184
            aload 1 /* symbol */
            ifnonnull 3
         1: .line 185
            aload 0 /* this */
            iconst_m1
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         2: .line 186
            goto 4
         3: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* symbol */
            invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(Lorg/jruby/util/ByteList;)V
         4: .line 189
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.RubySymbol symbol
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    5     1  symbol  Lorg/jruby/RubySymbol;
    MethodParameters:
        Name  Flags
      symbol  

  public void encode(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // java.lang.String value
         0: .line 193
            aload 1 /* value */
            ifnonnull 3
         1: .line 194
            aload 0 /* this */
            iconst_m1
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         2: .line 195
            goto 6
         3: .line 196
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokevirtual java.lang.String.getBytes:()[B
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         4: .line 197
            aload 0 /* this */
            aload 2 /* bytes */
            arraylength
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         5: .line 198
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            aload 2 /* bytes */
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
            pop
        end local 2 // byte[] bytes
         6: .line 200
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String value
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    7     1  value  Ljava/lang/String;
            4    6     2  bytes  [B
    MethodParameters:
       Name  Flags
      value  

  public void encode(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // java.lang.String[] values
         0: .line 206
            aload 1 /* values */
            ifnonnull 3
         1: .line 207
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         2: .line 208
            return
         3: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* values */
            arraylength
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         4: .line 212
            aload 1 /* values */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 9
      StackMap locals: org.jruby.ir.persistence.IRWriterStream java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         5: aload 5
            iload 3
            aaload
            astore 2 /* value */
        start local 2 // java.lang.String value
         6: .line 213
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual java.lang.String.length:()I
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         7: .line 214
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            aload 2 /* value */
            invokevirtual java.lang.String.getBytes:()[B
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
            pop
        end local 2 // java.lang.String value
         8: .line 212
            iinc 3 1
      StackMap locals:
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 5
        10: .line 216
            return
        end local 1 // java.lang.String[] values
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/jruby/ir/persistence/IRWriterStream;
            0   11     1  values  [Ljava/lang/String;
            6    8     2   value  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      values  

  public void encode(org.jruby.ir.operands.Operand);
    descriptor: (Lorg/jruby/ir/operands/Operand;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.operands.Operand operand
         0: .line 220
            aload 1 /* operand */
            aload 0 /* this */
            invokevirtual org.jruby.ir.operands.Operand.encode:(Lorg/jruby/ir/persistence/IRWriterEncoder;)V
         1: .line 221
            return
        end local 1 // org.jruby.ir.operands.Operand operand
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    2     1  operand  Lorg/jruby/ir/operands/Operand;
    MethodParameters:
         Name  Flags
      operand  

  public void encode(org.jruby.ir.operands.Operand[]);
    descriptor: ([Lorg/jruby/ir/operands/Operand;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.operands.Operand[] operands
         0: .line 225
            aload 0 /* this */
            aload 1 /* operands */
            arraylength
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         1: .line 226
            aload 1 /* operands */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.jruby.ir.persistence.IRWriterStream org.jruby.ir.operands.Operand[] top int int org.jruby.ir.operands.Operand[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* arg */
        start local 2 // org.jruby.ir.operands.Operand arg
         3: .line 227
            aload 0 /* this */
            aload 2 /* arg */
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(Lorg/jruby/ir/operands/Operand;)V
        end local 2 // org.jruby.ir.operands.Operand arg
         4: .line 226
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 229
            return
        end local 1 // org.jruby.ir.operands.Operand[] operands
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    7     1  operands  [Lorg/jruby/ir/operands/Operand;
            3    4     2       arg  Lorg/jruby/ir/operands/Operand;
    MethodParameters:
          Name  Flags
      operands  

  public void encode(org.jruby.ir.instructions.Instr);
    descriptor: (Lorg/jruby/ir/instructions/Instr;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.instructions.Instr instr
         0: .line 233
            aload 1 /* instr */
            aload 0 /* this */
            invokevirtual org.jruby.ir.instructions.Instr.encode:(Lorg/jruby/ir/persistence/IRWriterEncoder;)V
         1: .line 234
            return
        end local 1 // org.jruby.ir.instructions.Instr instr
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    2     1  instr  Lorg/jruby/ir/instructions/Instr;
    MethodParameters:
       Name  Flags
      instr  

  public void encode(org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.IRScope value
         0: .line 238
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.analyzer:Lorg/jruby/ir/persistence/IRWriterAnalyzer;
            aload 1 /* value */
            invokevirtual org.jruby.ir.persistence.IRWriterAnalyzer.getScopeID:(Lorg/jruby/ir/IRScope;)I
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         1: .line 239
            return
        end local 1 // org.jruby.ir.IRScope value
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    2     1  value  Lorg/jruby/ir/IRScope;
    MethodParameters:
       Name  Flags
      value  

  public void encode(org.jruby.ir.IRScopeType);
    descriptor: (Lorg/jruby/ir/IRScopeType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.IRScopeType value
         0: .line 243
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.jruby.ir.IRScopeType.ordinal:()I
            i2b
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(B)V
         1: .line 244
            return
        end local 1 // org.jruby.ir.IRScopeType value
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    2     1  value  Lorg/jruby/ir/IRScopeType;
    MethodParameters:
       Name  Flags
      value  

  public void encode(org.jruby.runtime.Signature);
    descriptor: (Lorg/jruby/runtime/Signature;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.runtime.Signature signature
         0: .line 249
            aload 1 /* signature */
            ifnonnull 1
            getstatic org.jruby.runtime.Signature.NO_ARGUMENTS:Lorg/jruby/runtime/Signature;
            astore 1 /* signature */
         1: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* signature */
            invokevirtual org.jruby.runtime.Signature.encode:()J
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(J)V
         2: .line 251
            return
        end local 1 // org.jruby.runtime.Signature signature
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    3     1  signature  Lorg/jruby/runtime/Signature;
    MethodParameters:
           Name  Flags
      signature  

  public void encode(org.jruby.runtime.RubyEvent);
    descriptor: (Lorg/jruby/runtime/RubyEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.runtime.RubyEvent event
         0: .line 255
            aload 0 /* this */
            aload 1 /* event */
            invokevirtual org.jruby.runtime.RubyEvent.ordinal:()I
            i2b
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(B)V
         1: .line 256
            return
        end local 1 // org.jruby.runtime.RubyEvent event
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    2     1  event  Lorg/jruby/runtime/RubyEvent;
    MethodParameters:
       Name  Flags
      event  

  public void encode(org.jruby.parser.StaticScope$Type);
    descriptor: (Lorg/jruby/parser/StaticScope$Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.parser.StaticScope$Type value
         0: .line 260
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.jruby.parser.StaticScope$Type.ordinal:()I
            i2b
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(B)V
         1: .line 261
            return
        end local 1 // org.jruby.parser.StaticScope$Type value
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    2     1  value  Lorg/jruby/parser/StaticScope$Type;
    MethodParameters:
       Name  Flags
      value  

  public void encode(org.jruby.ir.Operation);
    descriptor: (Lorg/jruby/ir/Operation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.Operation value
         0: .line 265
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.jruby.ir.Operation.ordinal:()I
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         1: .line 266
            return
        end local 1 // org.jruby.ir.Operation value
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    2     1  value  Lorg/jruby/ir/Operation;
    MethodParameters:
       Name  Flags
      value  

  public void encode(org.jruby.ir.operands.OperandType);
    descriptor: (Lorg/jruby/ir/operands/OperandType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.operands.OperandType value
         0: .line 270
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.jruby.ir.operands.OperandType.ordinal:()I
            i2b
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(B)V
         1: .line 271
            return
        end local 1 // org.jruby.ir.operands.OperandType value
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    2     1  value  Lorg/jruby/ir/operands/OperandType;
    MethodParameters:
       Name  Flags
      value  

  public void startEncodingScopeHeader(org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.IRScope scope
         0: .line 275
            return
        end local 1 // org.jruby.ir.IRScope scope
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    1     1  scope  Lorg/jruby/ir/IRScope;
    MethodParameters:
       Name  Flags
      scope  

  public void endEncodingScopeHeader(org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.IRScope scope
         0: .line 279
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* scope */
            invokevirtual org.jruby.ir.persistence.IRWriterStream.getScopeInstructionOffset:(Lorg/jruby/ir/IRScope;)I
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         1: .line 280
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.scopePoolOffsets:Ljava/util/Map;
            aload 1 /* scope */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         2: .line 281
            return
        end local 1 // org.jruby.ir.IRScope scope
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    3     1  scope  Lorg/jruby/ir/IRScope;
    MethodParameters:
       Name  Flags
      scope  

  public void startEncodingScopeInstrs(org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.IRScope scope
         0: .line 285
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.constantMap:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         1: .line 286
            aload 0 /* this */
            aload 1 /* scope */
            invokevirtual org.jruby.ir.persistence.IRWriterStream.addScopeInstructionOffset:(Lorg/jruby/ir/IRScope;)V
         2: .line 287
            aload 0 /* this */
            aload 1 /* scope */
            invokevirtual org.jruby.ir.IRScope.getInterpreterContext:()Lorg/jruby/ir/interpreter/InterpreterContext;
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getInstructions:()[Lorg/jruby/ir/instructions/Instr;
            arraylength
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         3: .line 288
            return
        end local 1 // org.jruby.ir.IRScope scope
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    4     1  scope  Lorg/jruby/ir/IRScope;
    MethodParameters:
       Name  Flags
      scope  

  public void endEncodingScopeInstrs(org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.IRScope scope
         0: .line 292
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.scopePoolOffsets:Ljava/util/Map;
            aload 1 /* scope */
            aload 0 /* this */
            invokevirtual org.jruby.ir.persistence.IRWriterStream.offset:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 294
            new java.util.LinkedList
            dup
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.constantMap:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokespecial java.util.LinkedList.<init>:(Ljava/util/Collection;)V
            astore 2 /* list */
        start local 2 // java.util.List list
         2: .line 295
            aload 2 /* list */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/Map$Entry.getValue()Ljava/lang/Object; (9 itf)
                  (Ljava/util/Map$Entry;)Ljava/lang/Integer;
            invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
         3: .line 297
            aload 0 /* this */
            aload 2 /* list */
            invokeinterface java.util.List.size:()I
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         4: .line 298
            aload 2 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: org.jruby.ir.persistence.IRWriterStream org.jruby.ir.IRScope java.util.List top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         6: .line 299
            aload 0 /* this */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.jruby.RubySymbol
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encodeRaw:(Lorg/jruby/RubySymbol;)V
        end local 3 // java.util.Map$Entry entry
         7: .line 298
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 301
            return
        end local 2 // java.util.List list
        end local 1 // org.jruby.ir.IRScope scope
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    9     1  scope  Lorg/jruby/ir/IRScope;
            2    9     2   list  Ljava/util/List<Ljava/util/Map$Entry<Lorg/jruby/RubySymbol;Ljava/lang/Integer;>;>;
            6    7     3  entry  Ljava/util/Map$Entry<Lorg/jruby/RubySymbol;Ljava/lang/Integer;>;
    MethodParameters:
       Name  Flags
      scope  

  public void startEncodingScopeHeaders(org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.IRScope script
         0: .line 305
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.ir.persistence.IRWriterStream.offset:()I
            putfield org.jruby.ir.persistence.IRWriterStream.headersOffset:I
         1: .line 306
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.analyzer:Lorg/jruby/ir/persistence/IRWriterAnalyzer;
            invokevirtual org.jruby.ir.persistence.IRWriterAnalyzer.getScopeCount:()I
            invokevirtual org.jruby.ir.persistence.IRWriterStream.encode:(I)V
         2: .line 307
            return
        end local 1 // org.jruby.ir.IRScope script
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    3     1  script  Lorg/jruby/ir/IRScope;
    MethodParameters:
        Name  Flags
      script  

  public void endEncodingScopeHeaders(org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.IRScope script
         0: .line 311
            return
        end local 1 // org.jruby.ir.IRScope script
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    1     1  script  Lorg/jruby/ir/IRScope;
    MethodParameters:
        Name  Flags
      script  

  public void startEncoding(org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.IRScope script
         0: .line 316
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.analyzer:Lorg/jruby/ir/persistence/IRWriterAnalyzer;
            aload 1 /* script */
            invokestatic org.jruby.ir.persistence.IRWriter.persist:(Lorg/jruby/ir/persistence/IRWriterEncoder;Lorg/jruby/ir/IRScope;)V
         1: .line 317
            goto 3
      StackMap locals:
      StackMap stack: java.io.IOException
         2: pop
         3: .line 320
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.ir.IRScope script
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/jruby/ir/persistence/IRWriterStream;
            0    4     1  script  Lorg/jruby/ir/IRScope;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
        Name  Flags
      script  

  public void endEncoding(org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.ir.persistence.IRWriterStream this
        start local 1 // org.jruby.ir.IRScope script
         0: .line 325
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.stream:Ljava/io/OutputStream;
            iconst_4
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            iconst_2
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
            invokevirtual java.io.OutputStream.write:([B)V
         1: .line 326
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.stream:Ljava/io/OutputStream;
            iconst_4
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.headersOffset:I
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
            invokevirtual java.io.OutputStream.write:([B)V
         2: .line 327
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            invokestatic com.headius.backport9.buffer.Buffers.flipBuffer:(Ljava/nio/Buffer;)Ljava/nio/Buffer;
            pop
         3: .line 328
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.stream:Ljava/io/OutputStream;
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.position:()I
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.buf:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.limit:()I
            invokevirtual java.io.OutputStream.write:([BII)V
         4: .line 329
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.stream:Ljava/io/OutputStream;
            invokevirtual java.io.OutputStream.close:()V
         5: .line 330
            goto 10
      StackMap locals:
      StackMap stack: java.io.IOException
         6: pop
         7: .line 331
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.stream:Ljava/io/OutputStream;
            ifnull 10
            aload 0 /* this */
            getfield org.jruby.ir.persistence.IRWriterStream.stream:Ljava/io/OutputStream;
            invokevirtual java.io.OutputStream.close:()V
         8: goto 10
      StackMap locals:
      StackMap stack: java.io.IOException
         9: pop
        10: .line 333
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.ir.IRScope script
        end local 0 // org.jruby.ir.persistence.IRWriterStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/jruby/ir/persistence/IRWriterStream;
            0   11     1  script  Lorg/jruby/ir/IRScope;
      Exception table:
        from    to  target  type
           0     5       6  Class java.io.IOException
           7     8       9  Class java.io.IOException
    MethodParameters:
        Name  Flags
      script  
}
SourceFile: "IRWriterStream.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final Type = org.jruby.parser.StaticScope$Type of org.jruby.parser.StaticScope