public class org.jruby.RubyHash extends org.jruby.RubyObject implements java.util.Map
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.RubyHash
  super_class: org.jruby.RubyObject
{
  public static final int DEFAULT_INSPECT_STR_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 20

  public static final int COMPARE_BY_IDENTITY_F;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final org.jruby.runtime.ObjectAllocator HASH_ALLOCATOR;
    descriptor: Lorg/jruby/runtime/ObjectAllocator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private org.jruby.RubyHash$RubyHashEntry[] table;
    descriptor: [Lorg/jruby/RubyHash$RubyHashEntry;
    flags: (0x0002) ACC_PRIVATE

  protected int size;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

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

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

  private org.jruby.runtime.builtin.IRubyObject ifNone;
    descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE

  public static final int[] MRI_PRIMES;
    descriptor: [I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

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

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

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

  public static final org.jruby.RubyHash$RubyHashEntry NO_ENTRY;
    descriptor: Lorg/jruby/RubyHash$RubyHashEntry;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

  private final org.jruby.RubyHash$RubyHashEntry head;
    descriptor: Lorg/jruby/RubyHash$RubyHashEntry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  private static final boolean MRI_HASH;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final boolean MRI_HASH_RESIZE;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final org.jruby.RubyHash$EntryMatchType MATCH_KEY;
    descriptor: Lorg/jruby/RubyHash$EntryMatchType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.RubyHash$EntryMatchType MATCH_ENTRY;
    descriptor: Lorg/jruby/RubyHash$EntryMatchType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.RubyString> InspectVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/RubyString;>;

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.RubyArray> StoreKeyValueVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/RubyArray;>;

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.RubyHash> FindMismatchUsingEqualVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/RubyHash;>;

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.RubyHash> FindMismatchUsingEqlVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/RubyHash;>;

  private static final org.jruby.RubyHash$VisitorWithState<long[]> CalculateHashVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<[J>;

  private static final org.jruby.RubyHash$Found FOUND;
    descriptor: Lorg/jruby/RubyHash$Found;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.runtime.builtin.IRubyObject> FoundIfEqualVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/runtime/builtin/IRubyObject;>;

  private volatile int iteratorCount;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<org.jruby.RubyHash> ITERATOR_UPDATER;
    descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lorg/jruby/RubyHash;>;

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.runtime.Block> YieldArrayVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/runtime/Block;>;

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.runtime.Block> YieldKeyValueArrayVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/runtime/Block;>;

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.runtime.Block> YieldValueVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/runtime/Block;>;

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.runtime.Block> YieldKeyVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/runtime/Block;>;

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.runtime.builtin.IRubyObject> FoundKeyIfEqual;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/runtime/builtin/IRubyObject;>;

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.RubyArray> StoreKeyVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/RubyArray;>;

  public static final org.jruby.RubyHash$VisitorWithState<org.jruby.RubyArray> StoreValueVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/RubyArray;>;

  static final org.jruby.RubyHash$VisitorWithState SetValueVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final org.jruby.RubyHash$Mismatch MISMATCH;
    descriptor: Lorg/jruby/RubyHash$Mismatch;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.runtime.Block> DeleteIfVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/runtime/Block;>;

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.RubyHash> InvertVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/RubyHash;>;

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.RubyHash> ReplaceVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/RubyHash;>;

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.runtime.builtin.IRubyObject> FoundPairIfEqualKeyVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/runtime/builtin/IRubyObject;>;

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.runtime.builtin.IRubyObject> FoundPairIfEqualValueVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/runtime/builtin/IRubyObject;>;

  private static final org.jruby.RubyHash$VisitorWithState<org.jruby.runtime.marshal.MarshalStream> MarshalDumpVisitor;
    descriptor: Lorg/jruby/RubyHash$VisitorWithState;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/runtime/marshal/MarshalStream;>;

  private static final org.jruby.RubyHash$EntryView DIRECT_KEY_VIEW;
    descriptor: Lorg/jruby/RubyHash$EntryView;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.RubyHash$EntryView KEY_VIEW;
    descriptor: Lorg/jruby/RubyHash$EntryView;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.RubyHash$EntryView DIRECT_VALUE_VIEW;
    descriptor: Lorg/jruby/RubyHash$EntryView;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.RubyHash$EntryView VALUE_VIEW;
    descriptor: Lorg/jruby/RubyHash$EntryView;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.RubyHash$EntryView DIRECT_ENTRY_VIEW;
    descriptor: Lorg/jruby/RubyHash$EntryView;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.RubyHash$EntryView ENTRY_VIEW;
    descriptor: Lorg/jruby/RubyHash$EntryView;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, 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=4, locals=1, args_size=0
         0: .line 116
            ldc Lorg/jruby/RubyHash;
            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.RubyHash.$assertionsDisabled:Z
         3: .line 119
            getstatic org.jruby.ObjectFlags.COMPARE_BY_IDENTITY_F:I
            putstatic org.jruby.RubyHash.COMPARE_BY_IDENTITY_F:I
         4: .line 137
            new org.jruby.RubyHash$1
            dup
            invokespecial org.jruby.RubyHash$1.<init>:()V
            putstatic org.jruby.RubyHash.HASH_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
         5: .line 241
            getstatic org.jruby.ObjectFlags.PROCDEFAULT_HASH_F:I
            putstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
         6: .line 332
            bipush 29
            newarray 10
            dup
            iconst_0
         7: .line 333
            bipush 11
            iastore
            dup
            iconst_1
            bipush 19
            iastore
            dup
            iconst_2
            bipush 37
            iastore
            dup
            iconst_3
            bipush 67
            iastore
            dup
            iconst_4
            sipush 131
            iastore
            dup
            iconst_5
            sipush 283
            iastore
            dup
            bipush 6
            sipush 521
            iastore
            dup
            bipush 7
            sipush 1033
            iastore
            dup
            bipush 8
            sipush 2053
            iastore
            dup
            bipush 9
            sipush 4099
            iastore
            dup
            bipush 10
         8: .line 334
            sipush 8219
            iastore
            dup
            bipush 11
            sipush 16427
            iastore
            dup
            bipush 12
            ldc 32771
            iastore
            dup
            bipush 13
            ldc 65581
            iastore
            dup
            bipush 14
            ldc 131101
            iastore
            dup
            bipush 15
            ldc 262147
            iastore
            dup
            bipush 16
            ldc 524309
            iastore
            dup
            bipush 17
            ldc 1048583
            iastore
            dup
            bipush 18
         9: .line 335
            ldc 2097169
            iastore
            dup
            bipush 19
            ldc 4194319
            iastore
            dup
            bipush 20
            ldc 8388617
            iastore
            dup
            bipush 21
            ldc 16777259
            iastore
            dup
            bipush 22
            ldc 33554467
            iastore
            dup
            bipush 23
            ldc 67108879
            iastore
            dup
            bipush 24
        10: .line 336
            ldc 134217757
            iastore
            dup
            bipush 25
            ldc 268435459
            iastore
            dup
            bipush 26
            ldc 536870923
            iastore
            dup
            bipush 27
            ldc 1073741909
            iastore
        11: .line 332
            putstatic org.jruby.RubyHash.MRI_PRIMES:[I
        12: .line 340
            getstatic org.jruby.RubyHash.MRI_PRIMES:[I
            iconst_0
            iaload
            putstatic org.jruby.RubyHash.MRI_INITIAL_CAPACITY:I
        13: .line 345
            new org.jruby.RubyHash$RubyHashEntry
            dup
            invokespecial org.jruby.RubyHash$RubyHashEntry.<init>:()V
            putstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
        14: .line 646
            new org.jruby.RubyHash$2
            dup
            invokespecial org.jruby.RubyHash$2.<init>:()V
            putstatic org.jruby.RubyHash.MATCH_KEY:Lorg/jruby/RubyHash$EntryMatchType;
        15: .line 654
            new org.jruby.RubyHash$3
            dup
            invokespecial org.jruby.RubyHash$3.<init>:()V
            putstatic org.jruby.RubyHash.MATCH_ENTRY:Lorg/jruby/RubyHash$EntryMatchType;
        16: .line 855
            new org.jruby.RubyHash$4
            dup
            invokespecial org.jruby.RubyHash$4.<init>:()V
            putstatic org.jruby.RubyHash.InspectVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        17: .line 943
            new org.jruby.RubyHash$5
            dup
            invokespecial org.jruby.RubyHash$5.<init>:()V
            putstatic org.jruby.RubyHash.StoreKeyValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        18: .line 1123
            new org.jruby.RubyHash$6
            dup
            invokespecial org.jruby.RubyHash$6.<init>:()V
            putstatic org.jruby.RubyHash.FindMismatchUsingEqualVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        19: .line 1139
            new org.jruby.RubyHash$7
            dup
            invokespecial org.jruby.RubyHash$7.<init>:()V
            putstatic org.jruby.RubyHash.FindMismatchUsingEqlVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        20: .line 1239
            new org.jruby.RubyHash$8
            dup
            invokespecial org.jruby.RubyHash$8.<init>:()V
            putstatic org.jruby.RubyHash.CalculateHashVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        21: .line 1320
            new org.jruby.RubyHash$Found
            dup
            invokespecial org.jruby.RubyHash$Found.<init>:()V
            putstatic org.jruby.RubyHash.FOUND:Lorg/jruby/RubyHash$Found;
        22: .line 1347
            new org.jruby.RubyHash$9
            dup
            invokespecial org.jruby.RubyHash$9.<init>:()V
            putstatic org.jruby.RubyHash.FoundIfEqualVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        23: .line 1368
            aconst_null
            astore 0 /* iterUp */
        start local 0 // java.util.concurrent.atomic.AtomicIntegerFieldUpdater iterUp
        24: .line 1370
            ldc Lorg/jruby/RubyHash;
            ldc "iteratorCount"
            invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            astore 0 /* iterUp */
        25: .line 1371
            goto 27
      StackMap locals: java.util.concurrent.atomic.AtomicIntegerFieldUpdater
      StackMap stack: java.lang.Exception
        26: pop
        27: .line 1374
      StackMap locals:
      StackMap stack:
            aload 0 /* iterUp */
            putstatic org.jruby.RubyHash.ITERATOR_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
        end local 0 // java.util.concurrent.atomic.AtomicIntegerFieldUpdater iterUp
        28: .line 1419
            new org.jruby.RubyHash$10
            dup
            invokespecial org.jruby.RubyHash$10.<init>:()V
            putstatic org.jruby.RubyHash.YieldArrayVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        29: .line 1444
            new org.jruby.RubyHash$11
            dup
            invokespecial org.jruby.RubyHash$11.<init>:()V
            putstatic org.jruby.RubyHash.YieldKeyValueArrayVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        30: .line 1460
            new org.jruby.RubyHash$12
            dup
            invokespecial org.jruby.RubyHash$12.<init>:()V
            putstatic org.jruby.RubyHash.YieldValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        31: .line 1481
            new org.jruby.RubyHash$13
            dup
            invokespecial org.jruby.RubyHash$13.<init>:()V
            putstatic org.jruby.RubyHash.YieldKeyVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        32: .line 1630
            new org.jruby.RubyHash$14
            dup
            invokespecial org.jruby.RubyHash$14.<init>:()V
            putstatic org.jruby.RubyHash.FoundKeyIfEqual:Lorg/jruby/RubyHash$VisitorWithState;
        33: .line 1660
            new org.jruby.RubyHash$15
            dup
            invokespecial org.jruby.RubyHash$15.<init>:()V
            putstatic org.jruby.RubyHash.StoreKeyVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        34: .line 1688
            new org.jruby.RubyHash$16
            dup
            invokespecial org.jruby.RubyHash$16.<init>:()V
            putstatic org.jruby.RubyHash.StoreValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        35: .line 1696
            new org.jruby.RubyHash$17
            dup
            invokespecial org.jruby.RubyHash$17.<init>:()V
            putstatic org.jruby.RubyHash.SetValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        36: .line 1711
            new org.jruby.RubyHash$Mismatch
            dup
            invokespecial org.jruby.RubyHash$Mismatch.<init>:()V
            putstatic org.jruby.RubyHash.MISMATCH:Lorg/jruby/RubyHash$Mismatch;
        37: .line 1816
            new org.jruby.RubyHash$18
            dup
            invokespecial org.jruby.RubyHash$18.<init>:()V
            putstatic org.jruby.RubyHash.DeleteIfVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        38: .line 1902
            new org.jruby.RubyHash$19
            dup
            invokespecial org.jruby.RubyHash$19.<init>:()V
            putstatic org.jruby.RubyHash.InvertVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        39: .line 1994
            new org.jruby.RubyHash$20
            dup
            invokespecial org.jruby.RubyHash$20.<init>:()V
            putstatic org.jruby.RubyHash.ReplaceVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        40: .line 2042
            new org.jruby.RubyHash$21
            dup
            invokespecial org.jruby.RubyHash$21.<init>:()V
            putstatic org.jruby.RubyHash.FoundPairIfEqualKeyVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        41: .line 2051
            new org.jruby.RubyHash$22
            dup
            invokespecial org.jruby.RubyHash$22.<init>:()V
            putstatic org.jruby.RubyHash.FoundPairIfEqualValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        42: .line 2260
            new org.jruby.RubyHash$23
            dup
            invokespecial org.jruby.RubyHash$23.<init>:()V
            putstatic org.jruby.RubyHash.MarshalDumpVisitor:Lorg/jruby/RubyHash$VisitorWithState;
        43: .line 2535
            new org.jruby.RubyHash$24
            dup
            invokespecial org.jruby.RubyHash$24.<init>:()V
            putstatic org.jruby.RubyHash.DIRECT_KEY_VIEW:Lorg/jruby/RubyHash$EntryView;
        44: .line 2552
            new org.jruby.RubyHash$25
            dup
            invokespecial org.jruby.RubyHash$25.<init>:()V
            putstatic org.jruby.RubyHash.KEY_VIEW:Lorg/jruby/RubyHash$EntryView;
        45: .line 2567
            new org.jruby.RubyHash$26
            dup
            invokespecial org.jruby.RubyHash$26.<init>:()V
            putstatic org.jruby.RubyHash.DIRECT_VALUE_VIEW:Lorg/jruby/RubyHash$EntryView;
        46: .line 2588
            new org.jruby.RubyHash$27
            dup
            invokespecial org.jruby.RubyHash$27.<init>:()V
            putstatic org.jruby.RubyHash.VALUE_VIEW:Lorg/jruby/RubyHash$EntryView;
        47: .line 2607
            new org.jruby.RubyHash$28
            dup
            invokespecial org.jruby.RubyHash$28.<init>:()V
            putstatic org.jruby.RubyHash.DIRECT_ENTRY_VIEW:Lorg/jruby/RubyHash$EntryView;
        48: .line 2626
            new org.jruby.RubyHash$29
            dup
            invokespecial org.jruby.RubyHash$29.<init>:()V
            putstatic org.jruby.RubyHash.ENTRY_VIEW:Lorg/jruby/RubyHash$EntryView;
        49: .line 2644
            return
      LocalVariableTable:
        Start  End  Slot    Name  Signature
           24   28     0  iterUp  Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lorg/jruby/RubyHash;>;
      Exception table:
        from    to  target  type
          24    25      26  Class java.lang.Exception

  public static org.jruby.RubyClass createHashClass(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 122
            aload 0 /* runtime */
            ldc "Hash"
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            getstatic org.jruby.RubyHash.HASH_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
            invokevirtual org.jruby.Ruby.defineClass:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
            astore 1 /* hashc */
        start local 1 // org.jruby.RubyClass hashc
         1: .line 123
            aload 0 /* runtime */
            aload 1 /* hashc */
            invokevirtual org.jruby.Ruby.setHash:(Lorg/jruby/RubyClass;)V
         2: .line 125
            aload 1 /* hashc */
            getstatic org.jruby.runtime.ClassIndex.HASH:Lorg/jruby/runtime/ClassIndex;
            invokevirtual org.jruby.RubyClass.setClassIndex:(Lorg/jruby/runtime/ClassIndex;)V
         3: .line 126
            aload 1 /* hashc */
            ldc Lorg/jruby/RubyHash;
            invokevirtual org.jruby.RubyClass.setReifiedClass:(Ljava/lang/Class;)V
         4: .line 128
            aload 1 /* hashc */
            new org.jruby.RubyModule$JavaClassKindOf
            dup
            ldc Lorg/jruby/RubyHash;
            invokespecial org.jruby.RubyModule$JavaClassKindOf.<init>:(Ljava/lang/Class;)V
            putfield org.jruby.RubyClass.kindOf:Lorg/jruby/RubyModule$KindOf;
         5: .line 130
            aload 1 /* hashc */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getEnumerable:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyClass.includeModule:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         6: .line 132
            aload 1 /* hashc */
            ldc Lorg/jruby/RubyHash;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         7: .line 134
            aload 1 /* hashc */
            areturn
        end local 1 // org.jruby.RubyClass hashc
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0  runtime  Lorg/jruby/Ruby;
            1    8     1    hashc  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  

  public org.jruby.runtime.ClassIndex getNativeClassIndex();
    descriptor: ()Lorg/jruby/runtime/ClassIndex;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 146
            getstatic org.jruby.runtime.ClassIndex.HASH:Lorg/jruby/runtime/ClassIndex;
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;

  public static org.jruby.runtime.builtin.IRubyObject create(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=15, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 154
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 156
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpne 29
         2: .line 157
            aload 2 /* args */
            iconst_0
            aaload
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
            ldc "to_hash"
            invokestatic org.jruby.util.TypeConverter.convertToTypeWithCheck:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* tmp */
        start local 5 // org.jruby.runtime.builtin.IRubyObject tmp
         3: .line 159
            aload 5 /* tmp */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 5
         4: .line 160
            new org.jruby.RubyHash
            dup
            aload 4 /* runtime */
            aload 1 /* recv */
            checkcast org.jruby.RubyClass
            aload 5 /* tmp */
            checkcast org.jruby.RubyHash
            invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyHash;)V
            areturn
         5: .line 163
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* nil */
        start local 6 // org.jruby.runtime.builtin.IRubyObject nil
         6: .line 164
            aload 2 /* args */
            iconst_0
            aaload
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            ldc "to_ary"
            invokestatic org.jruby.util.TypeConverter.convertToTypeWithCheck:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* tmp */
         7: .line 165
            aload 5 /* tmp */
            aload 6 /* nil */
            if_acmpeq 29
         8: .line 166
            aload 1 /* recv */
            checkcast org.jruby.RubyClass
            invokevirtual org.jruby.RubyClass.allocate:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyHash
            astore 7 /* hash */
        start local 7 // org.jruby.RubyHash hash
         9: .line 167
            aload 5 /* tmp */
            checkcast org.jruby.RubyArray
            astore 8 /* arr */
        start local 8 // org.jruby.RubyArray arr
        10: .line 168
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        11: aload 8 /* arr */
            invokevirtual org.jruby.RubyArray.getLength:()I
            istore 10 /* j */
        start local 10 // int j
        12: goto 27
        13: .line 169
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyHash org.jruby.RubyArray int int
      StackMap stack:
            aload 8 /* arr */
            iload 9 /* i */
            invokevirtual org.jruby.RubyArray.entry:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* e */
        start local 11 // org.jruby.runtime.builtin.IRubyObject e
        14: .line 170
            aload 11 /* e */
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            ldc "to_ary"
            invokestatic org.jruby.util.TypeConverter.convertToTypeWithCheck:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* v */
        start local 12 // org.jruby.runtime.builtin.IRubyObject v
        15: .line 172
            aload 6 /* nil */
            astore 14 /* val */
        start local 14 // org.jruby.runtime.builtin.IRubyObject val
        16: .line 173
            aload 12 /* v */
            aload 6 /* nil */
            if_acmpne 21
        17: .line 174
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            new java.lang.StringBuilder
            dup
            ldc "wrong element type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* e */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " at "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 9 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " (expected array)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.common.RubyWarnings.warn:(Ljava/lang/String;)V
        18: .line 175
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            ldc "ignoring wrong elements is deprecated, remove them explicitly"
            invokevirtual org.jruby.common.RubyWarnings.warn:(Ljava/lang/String;)V
        19: .line 176
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            ldc "this causes ArgumentError in the next release"
            invokevirtual org.jruby.common.RubyWarnings.warn:(Ljava/lang/String;)V
        20: .line 177
            goto 26
        21: .line 179
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyHash org.jruby.RubyArray int int org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject top org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 12 /* v */
            checkcast org.jruby.RubyArray
            invokevirtual org.jruby.RubyArray.getLength:()I
            tableswitch { // 1 - 2
                    1: 24
                    2: 23
              default: 22
          }
        22: .line 181
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "invalid number of elements ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* v */
            checkcast org.jruby.RubyArray
            invokevirtual org.jruby.RubyArray.getLength:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " for 1..2)"
            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
        23: .line 183
      StackMap locals:
      StackMap stack:
            aload 12 /* v */
            checkcast org.jruby.RubyArray
            iconst_1
            invokevirtual org.jruby.RubyArray.entry:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 14 /* val */
        24: .line 185
      StackMap locals:
      StackMap stack:
            aload 12 /* v */
            checkcast org.jruby.RubyArray
            iconst_0
            invokevirtual org.jruby.RubyArray.entry:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 13 /* key */
        start local 13 // org.jruby.runtime.builtin.IRubyObject key
        25: .line 186
            aload 7 /* hash */
            aload 4 /* runtime */
            aload 13 /* key */
            aload 14 /* val */
            invokevirtual org.jruby.RubyHash.fastASetCheckString:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
        end local 14 // org.jruby.runtime.builtin.IRubyObject val
        end local 13 // org.jruby.runtime.builtin.IRubyObject key
        end local 12 // org.jruby.runtime.builtin.IRubyObject v
        end local 11 // org.jruby.runtime.builtin.IRubyObject e
        26: .line 168
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyHash org.jruby.RubyArray int int
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 9 /* i */
            iload 10 /* j */
            if_icmplt 13
        end local 10 // int j
        end local 9 // int i
        28: .line 189
            aload 7 /* hash */
            areturn
        end local 8 // org.jruby.RubyArray arr
        end local 7 // org.jruby.RubyHash hash
        end local 6 // org.jruby.runtime.builtin.IRubyObject nil
        end local 5 // org.jruby.runtime.builtin.IRubyObject tmp
        29: .line 193
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block org.jruby.Ruby
      StackMap stack:
            aload 2 /* args */
            arraylength
            iconst_1
            iand
            ifeq 31
        30: .line 194
            aload 4 /* runtime */
            ldc "odd number of arguments for Hash"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        31: .line 197
      StackMap locals:
      StackMap stack:
            aload 1 /* recv */
            checkcast org.jruby.RubyClass
            invokevirtual org.jruby.RubyClass.allocate:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyHash
            astore 5 /* hash */
        start local 5 // org.jruby.RubyHash hash
        32: .line 198
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        33: goto 35
      StackMap locals: org.jruby.RubyHash int
      StackMap stack:
        34: aload 5 /* hash */
            aload 4 /* runtime */
            aload 2 /* args */
            iload 6 /* i */
            aaload
            aload 2 /* args */
            iload 6 /* i */
            iconst_1
            iadd
            aaload
            invokevirtual org.jruby.RubyHash.fastASetCheckString:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
            iinc 6 /* i */ 2
      StackMap locals:
      StackMap stack:
        35: iload 6 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 34
        end local 6 // int i
        36: .line 200
            aload 5 /* hash */
            areturn
        end local 5 // org.jruby.RubyHash hash
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   37     0  context  Lorg/jruby/runtime/ThreadContext;
            0   37     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   37     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0   37     3    block  Lorg/jruby/runtime/Block;
            1   37     4  runtime  Lorg/jruby/Ruby;
            3   29     5      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
            6   29     6      nil  Lorg/jruby/runtime/builtin/IRubyObject;
            9   29     7     hash  Lorg/jruby/RubyHash;
           10   29     8      arr  Lorg/jruby/RubyArray;
           11   28     9        i  I
           12   28    10        j  I
           14   26    11        e  Lorg/jruby/runtime/builtin/IRubyObject;
           15   26    12        v  Lorg/jruby/runtime/builtin/IRubyObject;
           25   26    13      key  Lorg/jruby/runtime/builtin/IRubyObject;
           16   26    14      val  Lorg/jruby/runtime/builtin/IRubyObject;
           32   37     5     hash  Lorg/jruby/RubyHash;
           33   36     6        i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"[]"}, rest = true, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     
      block    

  public static org.jruby.runtime.builtin.IRubyObject try_convert(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject args
         0: .line 205
            aload 2 /* args */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
            ldc "to_hash"
            invokestatic org.jruby.util.TypeConverter.convertToTypeWithCheck:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject args
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2     args  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"try_convert"}, meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      args     

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

  public static final org.jruby.RubyHash newSmallHash(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 219
            new org.jruby.RubyHash
            dup
            aload 0 /* runtime */
            iconst_1
            invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;I)V
            areturn
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  

  public static org.jruby.RubyHash newKwargs(org.jruby.Ruby, java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String key
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 223
            aload 0 /* runtime */
            invokestatic org.jruby.RubyHash.newSmallHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            astore 3 /* kwargs */
        start local 3 // org.jruby.RubyHash kwargs
         1: .line 224
            aload 3 /* kwargs */
            aload 0 /* runtime */
            aload 1 /* key */
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            aload 2 /* value */
            invokevirtual org.jruby.RubyHash.fastASetSmall:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 225
            aload 3 /* kwargs */
            areturn
        end local 3 // org.jruby.RubyHash kwargs
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String key
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1      key  Ljava/lang/String;
            0    3     2    value  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3   kwargs  Lorg/jruby/RubyHash;
    MethodParameters:
         Name  Flags
      runtime  
      key      
      value    

  public static final org.jruby.RubyHash newHash(org.jruby.Ruby, java.util.Map, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Ljava/util/Map;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.util.Map valueMap
        start local 2 // org.jruby.runtime.builtin.IRubyObject defaultValue
         0: .line 232
            getstatic org.jruby.RubyHash.$assertionsDisabled:Z
            ifne 1
            aload 2 /* defaultValue */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 234
      StackMap locals:
      StackMap stack:
            new org.jruby.RubyHash
            dup
            aload 0 /* runtime */
            aload 1 /* valueMap */
            aload 2 /* defaultValue */
            invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;Ljava/util/Map;Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject defaultValue
        end local 1 // java.util.Map valueMap
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0       runtime  Lorg/jruby/Ruby;
            0    2     1      valueMap  Ljava/util/Map;
            0    2     2  defaultValue  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
              Name  Flags
      runtime       
      valueMap      
      defaultValue  

  private void <init>(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.RubyHash);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyHash;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass klass
        start local 3 // org.jruby.RubyHash other
         0: .line 246
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* klass */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 238
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyHash.size:I
         2: .line 346
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyHash.generation:I
         3: .line 347
            aload 0 /* this */
            new org.jruby.RubyHash$RubyHashEntry
            dup
            invokespecial org.jruby.RubyHash$RubyHashEntry.<init>:()V
            putfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
         4: .line 349
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            dup_x1
            putfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            putfield org.jruby.RubyHash$RubyHashEntry.prevAdded:Lorg/jruby/RubyHash$RubyHashEntry;
         5: .line 247
            aload 0 /* this */
            getstatic org.jruby.RubyHash.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
         6: .line 248
            aload 0 /* this */
            bipush 6
            putfield org.jruby.RubyHash.threshold:I
         7: .line 249
            aload 0 /* this */
            aload 3 /* other */
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            invokevirtual org.jruby.RubyHash.internalCopyTable:(Lorg/jruby/RubyHash$RubyHashEntry;)[Lorg/jruby/RubyHash$RubyHashEntry;
            putfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
         8: .line 250
            aload 0 /* this */
            aload 3 /* other */
            getfield org.jruby.RubyHash.size:I
            putfield org.jruby.RubyHash.size:I
         9: .line 251
            return
        end local 3 // org.jruby.RubyHash other
        end local 2 // org.jruby.RubyClass klass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/jruby/RubyHash;
            0   10     1  runtime  Lorg/jruby/Ruby;
            0   10     2    klass  Lorg/jruby/RubyClass;
            0   10     3    other  Lorg/jruby/RubyHash;
    MethodParameters:
         Name  Flags
      runtime  
      klass    
      other    

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass klass
         0: .line 254
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* klass */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 238
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyHash.size:I
         2: .line 346
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyHash.generation:I
         3: .line 347
            aload 0 /* this */
            new org.jruby.RubyHash$RubyHashEntry
            dup
            invokespecial org.jruby.RubyHash$RubyHashEntry.<init>:()V
            putfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
         4: .line 349
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            dup_x1
            putfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            putfield org.jruby.RubyHash$RubyHashEntry.prevAdded:Lorg/jruby/RubyHash$RubyHashEntry;
         5: .line 255
            aload 0 /* this */
            getstatic org.jruby.RubyHash.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
         6: .line 256
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.allocFirst:()V
         7: .line 257
            return
        end local 2 // org.jruby.RubyClass klass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyHash;
            0    8     1  runtime  Lorg/jruby/Ruby;
            0    8     2    klass  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  
      klass    

  public void <init>(org.jruby.Ruby, int);
    descriptor: (Lorg/jruby/Ruby;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int buckets
         0: .line 260
            aload 0 /* this */
            aload 1 /* runtime */
            getstatic org.jruby.RubyHash.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            iload 2 /* buckets */
            invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;I)V
         1: .line 261
            return
        end local 2 // int buckets
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyHash;
            0    2     1  runtime  Lorg/jruby/Ruby;
            0    2     2  buckets  I
    MethodParameters:
         Name  Flags
      runtime  
      buckets  

  public void <init>(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
         0: .line 264
            aload 0 /* this */
            aload 1 /* runtime */
            getstatic org.jruby.RubyHash.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
         1: .line 265
            return
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyHash;
            0    2     1  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  

  public void <init>(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject defaultValue
         0: .line 268
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 238
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyHash.size:I
         2: .line 346
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyHash.generation:I
         3: .line 347
            aload 0 /* this */
            new org.jruby.RubyHash$RubyHashEntry
            dup
            invokespecial org.jruby.RubyHash$RubyHashEntry.<init>:()V
            putfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
         4: .line 349
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            dup_x1
            putfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            putfield org.jruby.RubyHash$RubyHashEntry.prevAdded:Lorg/jruby/RubyHash$RubyHashEntry;
         5: .line 269
            aload 0 /* this */
            aload 2 /* defaultValue */
            putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
         6: .line 270
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.allocFirst:()V
         7: .line 271
            return
        end local 2 // org.jruby.runtime.builtin.IRubyObject defaultValue
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/jruby/RubyHash;
            0    8     1       runtime  Lorg/jruby/Ruby;
            0    8     2  defaultValue  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
              Name  Flags
      runtime       
      defaultValue  

  public void <init>(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject defaultValue
        start local 3 // int buckets
         0: .line 274
            aload 0 /* this */
            aload 1 /* runtime */
            iload 3 /* buckets */
            iconst_1
            invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;IZ)V
         1: .line 275
            aload 0 /* this */
            aload 2 /* defaultValue */
            putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
         2: .line 276
            return
        end local 3 // int buckets
        end local 2 // org.jruby.runtime.builtin.IRubyObject defaultValue
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/jruby/RubyHash;
            0    3     1       runtime  Lorg/jruby/Ruby;
            0    3     2  defaultValue  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3       buckets  I
    MethodParameters:
              Name  Flags
      runtime       
      defaultValue  
      buckets       

  protected void <init>(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyHash$RubyHashEntry[], int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/RubyHash$RubyHashEntry;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass metaClass
        start local 3 // org.jruby.runtime.builtin.IRubyObject defaultValue
        start local 4 // org.jruby.RubyHash$RubyHashEntry[] initialTable
        start local 5 // int threshold
         0: .line 279
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* metaClass */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 238
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyHash.size:I
         2: .line 346
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyHash.generation:I
         3: .line 347
            aload 0 /* this */
            new org.jruby.RubyHash$RubyHashEntry
            dup
            invokespecial org.jruby.RubyHash$RubyHashEntry.<init>:()V
            putfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
         4: .line 349
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            dup_x1
            putfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            putfield org.jruby.RubyHash$RubyHashEntry.prevAdded:Lorg/jruby/RubyHash$RubyHashEntry;
         5: .line 280
            aload 0 /* this */
            aload 3 /* defaultValue */
            putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
         6: .line 281
            aload 0 /* this */
            iload 5 /* threshold */
            putfield org.jruby.RubyHash.threshold:I
         7: .line 282
            aload 0 /* this */
            aload 4 /* initialTable */
            putfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
         8: .line 283
            return
        end local 5 // int threshold
        end local 4 // org.jruby.RubyHash$RubyHashEntry[] initialTable
        end local 3 // org.jruby.runtime.builtin.IRubyObject defaultValue
        end local 2 // org.jruby.RubyClass metaClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/jruby/RubyHash;
            0    9     1       runtime  Lorg/jruby/Ruby;
            0    9     2     metaClass  Lorg/jruby/RubyClass;
            0    9     3  defaultValue  Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     4  initialTable  [Lorg/jruby/RubyHash$RubyHashEntry;
            0    9     5     threshold  I
    MethodParameters:
              Name  Flags
      runtime       
      metaClass     
      defaultValue  
      initialTable  
      threshold     

  void <init>(org.jruby.Ruby, int, boolean);
    descriptor: (Lorg/jruby/Ruby;IZ)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int buckets
        start local 3 // boolean objectSpace
         0: .line 290
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
            iload 3 /* objectSpace */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Z)V
         1: .line 238
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyHash.size:I
         2: .line 346
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyHash.generation:I
         3: .line 347
            aload 0 /* this */
            new org.jruby.RubyHash$RubyHashEntry
            dup
            invokespecial org.jruby.RubyHash$RubyHashEntry.<init>:()V
            putfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
         4: .line 349
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            dup_x1
            putfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            putfield org.jruby.RubyHash$RubyHashEntry.prevAdded:Lorg/jruby/RubyHash$RubyHashEntry;
         5: .line 293
            iload 2 /* buckets */
            ifgt 6
            iconst_1
            istore 2 /* buckets */
         6: .line 294
      StackMap locals: org.jruby.RubyHash org.jruby.Ruby int int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* buckets */
            invokevirtual org.jruby.RubyHash.allocFirst:(I)V
         7: .line 295
            return
        end local 3 // boolean objectSpace
        end local 2 // int buckets
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/jruby/RubyHash;
            0    8     1      runtime  Lorg/jruby/Ruby;
            0    8     2      buckets  I
            0    8     3  objectSpace  Z
    MethodParameters:
             Name  Flags
      runtime      
      buckets      
      objectSpace  

  public void <init>(org.jruby.Ruby, java.util.Map, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Ljava/util/Map;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.util.Map valueMap
        start local 3 // org.jruby.runtime.builtin.IRubyObject defaultValue
         0: .line 299
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 238
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyHash.size:I
         2: .line 346
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyHash.generation:I
         3: .line 347
            aload 0 /* this */
            new org.jruby.RubyHash$RubyHashEntry
            dup
            invokespecial org.jruby.RubyHash$RubyHashEntry.<init>:()V
            putfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
         4: .line 349
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            dup_x1
            putfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            putfield org.jruby.RubyHash$RubyHashEntry.prevAdded:Lorg/jruby/RubyHash$RubyHashEntry;
         5: .line 300
            aload 0 /* this */
            aload 3 /* defaultValue */
            putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
         6: .line 301
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.allocFirst:()V
         7: .line 303
            aload 2 /* valueMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* iter */
        start local 4 // java.util.Iterator iter
         8: goto 11
         9: .line 304
      StackMap locals: org.jruby.RubyHash org.jruby.Ruby java.util.Map org.jruby.runtime.builtin.IRubyObject java.util.Iterator
      StackMap stack:
            aload 4 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* e */
        start local 5 // java.util.Map$Entry e
        10: .line 305
            aload 0 /* this */
            aload 5 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            aload 5 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            invokevirtual org.jruby.RubyHash.internalPut:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 5 // java.util.Map$Entry e
        11: .line 303
      StackMap locals:
      StackMap stack:
            aload 4 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 4 // java.util.Iterator iter
        12: .line 307
            return
        end local 3 // org.jruby.runtime.builtin.IRubyObject defaultValue
        end local 2 // java.util.Map valueMap
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/jruby/RubyHash;
            0   13     1       runtime  Lorg/jruby/Ruby;
            0   13     2      valueMap  Ljava/util/Map;
            0   13     3  defaultValue  Lorg/jruby/runtime/builtin/IRubyObject;
            8   12     4          iter  Ljava/util/Iterator;
           10   11     5             e  Ljava/util/Map$Entry;
    MethodParameters:
              Name  Flags
      runtime       
      valueMap      
      defaultValue  

  private final void allocFirst();
    descriptor: ()V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 310
            aload 0 /* this */
            bipush 6
            putfield org.jruby.RubyHash.threshold:I
         1: .line 311
            aload 0 /* this */
            getstatic org.jruby.RubyHash.MRI_INITIAL_CAPACITY:I
            anewarray org.jruby.RubyHash$RubyHashEntry
            putfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
         2: .line 312
            return
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyHash;

  private final void allocFirst(int);
    descriptor: (I)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // int buckets
         0: .line 315
            iload 1 /* buckets */
            ifgt 1
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid bucket size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* buckets */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         1: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 6
            putfield org.jruby.RubyHash.threshold:I
         2: .line 317
            aload 0 /* this */
            iload 1 /* buckets */
            anewarray org.jruby.RubyHash$RubyHashEntry
            putfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
         3: .line 318
            return
        end local 1 // int buckets
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyHash;
            0    4     1  buckets  I
    MethodParameters:
         Name  Flags
      buckets  

  private final void alloc();
    descriptor: ()V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 321
            aload 0 /* this */
            dup
            getfield org.jruby.RubyHash.generation:I
            iconst_1
            iadd
            putfield org.jruby.RubyHash.generation:I
         1: .line 322
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            dup_x1
            putfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            putfield org.jruby.RubyHash$RubyHashEntry.prevAdded:Lorg/jruby/RubyHash$RubyHashEntry;
         2: .line 323
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.allocFirst:()V
         3: .line 324
            return
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/RubyHash;

  private static int JavaSoftHashValue(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // int h
         0: .line 428
            iload 0 /* h */
            iload 0 /* h */
            bipush 20
            iushr
            iload 0 /* h */
            bipush 12
            iushr
            ixor
            ixor
            istore 0 /* h */
         1: .line 429
            iload 0 /* h */
            iload 0 /* h */
            bipush 7
            iushr
            ixor
            iload 0 /* h */
            iconst_4
            iushr
            ixor
            ireturn
        end local 0 // int h
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     h  I
    MethodParameters:
      Name  Flags
      h     

  private static int JavaSoftBucketIndex(int, int);
    descriptor: (II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int h
        start local 1 // int length
         0: .line 433
            iload 0 /* h */
            iload 1 /* length */
            iconst_1
            isub
            iand
            ireturn
        end local 1 // int length
        end local 0 // int h
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0       h  I
            0    1     1  length  I
    MethodParameters:
        Name  Flags
      h       final
      length  final

  private static int MRIHashValue(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int h
         0: .line 437
            iload 0 /* h */
            ldc 2147483647
            iand
            ireturn
        end local 0 // int h
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     h  I
    MethodParameters:
      Name  Flags
      h     

  private static int MRIBucketIndex(int, int);
    descriptor: (II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int h
        start local 1 // int length
         0: .line 442
            iload 0 /* h */
            ldc 2147483647
            iand
            iload 1 /* length */
            irem
            ireturn
        end local 1 // int length
        end local 0 // int h
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0       h  I
            0    1     1  length  I
    MethodParameters:
        Name  Flags
      h       final
      length  final

  private final synchronized void resize(int);
    descriptor: (I)V
    flags: (0x0032) ACC_PRIVATE, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // int newCapacity
         0: .line 446
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            astore 2 /* oldTable */
        start local 2 // org.jruby.RubyHash$RubyHashEntry[] oldTable
         1: .line 447
            iload 1 /* newCapacity */
            anewarray org.jruby.RubyHash$RubyHashEntry
            astore 3 /* newTable */
        start local 3 // org.jruby.RubyHash$RubyHashEntry[] newTable
         2: .line 449
            iconst_0
            istore 4 /* j */
        start local 4 // int j
         3: goto 14
         4: .line 450
      StackMap locals: org.jruby.RubyHash$RubyHashEntry[] org.jruby.RubyHash$RubyHashEntry[] int
      StackMap stack:
            aload 2 /* oldTable */
            iload 4 /* j */
            aaload
            astore 5 /* entry */
        start local 5 // org.jruby.RubyHash$RubyHashEntry entry
         5: .line 451
            aload 2 /* oldTable */
            iload 4 /* j */
            aconst_null
            aastore
         6: .line 453
            goto 12
         7: .line 454
      StackMap locals: org.jruby.RubyHash$RubyHashEntry
      StackMap stack:
            aload 5 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 6 /* next */
        start local 6 // org.jruby.RubyHash$RubyHashEntry next
         8: .line 455
            aload 5 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.hash:I
            iload 1 /* newCapacity */
            invokestatic org.jruby.RubyHash.bucketIndex:(II)I
            istore 7 /* i */
        start local 7 // int i
         9: .line 456
            aload 5 /* entry */
            aload 3 /* newTable */
            iload 7 /* i */
            aaload
            putfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
        10: .line 457
            aload 3 /* newTable */
            iload 7 /* i */
            aload 5 /* entry */
            aastore
        11: .line 458
            aload 6 /* next */
            astore 5 /* entry */
        end local 7 // int i
        end local 6 // org.jruby.RubyHash$RubyHashEntry next
        12: .line 453
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            ifnonnull 7
        end local 5 // org.jruby.RubyHash$RubyHashEntry entry
        13: .line 449
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* j */
            aload 2 /* oldTable */
            arraylength
            if_icmplt 4
        end local 4 // int j
        15: .line 462
            aload 0 /* this */
            aload 3 /* newTable */
            putfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
        16: .line 463
            return
        end local 3 // org.jruby.RubyHash$RubyHashEntry[] newTable
        end local 2 // org.jruby.RubyHash$RubyHashEntry[] oldTable
        end local 1 // int newCapacity
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lorg/jruby/RubyHash;
            0   17     1  newCapacity  I
            1   17     2     oldTable  [Lorg/jruby/RubyHash$RubyHashEntry;
            2   17     3     newTable  [Lorg/jruby/RubyHash$RubyHashEntry;
            3   15     4            j  I
            5   13     5        entry  Lorg/jruby/RubyHash$RubyHashEntry;
            8   12     6         next  Lorg/jruby/RubyHash$RubyHashEntry;
            9   12     7            i  I
    MethodParameters:
             Name  Flags
      newCapacity  

  private final void JavaSoftCheckResize();
    descriptor: ()V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 466
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.overThreshold:()Z
            ifeq 6
         1: .line 467
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            astore 1 /* tbl */
        start local 1 // org.jruby.RubyHash$RubyHashEntry[] tbl
         2: .line 468
            aload 1 /* tbl */
            arraylength
            ldc 1073741824
            if_icmpne 5
         3: .line 469
            aload 0 /* this */
            ldc 2147483647
            putfield org.jruby.RubyHash.threshold:I
         4: .line 470
            return
         5: .line 472
      StackMap locals: org.jruby.RubyHash$RubyHashEntry[]
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            invokevirtual org.jruby.RubyHash.resizeAndAdjustThreshold:([Lorg/jruby/RubyHash$RubyHashEntry;)V
        end local 1 // org.jruby.RubyHash$RubyHashEntry[] tbl
         6: .line 474
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/RubyHash;
            2    6     1   tbl  [Lorg/jruby/RubyHash$RubyHashEntry;

  private boolean overThreshold();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 477
            aload 0 /* this */
            getfield org.jruby.RubyHash.size:I
            aload 0 /* this */
            getfield org.jruby.RubyHash.threshold:I
            if_icmple 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyHash;

  private void resizeAndAdjustThreshold(org.jruby.RubyHash$RubyHashEntry[]);
    descriptor: ([Lorg/jruby/RubyHash$RubyHashEntry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.RubyHash$RubyHashEntry[] oldTable
         0: .line 481
            aload 1 /* oldTable */
            arraylength
            iconst_1
            ishl
            istore 2 /* newCapacity */
        start local 2 // int newCapacity
         1: .line 482
            aload 0 /* this */
            iload 2 /* newCapacity */
            invokevirtual org.jruby.RubyHash.resize:(I)V
         2: .line 483
            aload 0 /* this */
            iload 2 /* newCapacity */
            iload 2 /* newCapacity */
            iconst_2
            ishr
            isub
            putfield org.jruby.RubyHash.threshold:I
         3: .line 484
            return
        end local 2 // int newCapacity
        end local 1 // org.jruby.RubyHash$RubyHashEntry[] oldTable
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/jruby/RubyHash;
            0    4     1     oldTable  [Lorg/jruby/RubyHash$RubyHashEntry;
            1    4     2  newCapacity  I
    MethodParameters:
          Name  Flags
      oldTable  

  private final void MRICheckResize();
    descriptor: ()V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 489
            aload 0 /* this */
            getfield org.jruby.RubyHash.size:I
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            arraylength
            idiv
            iconst_5
            if_icmple 11
         1: .line 490
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            arraylength
            iconst_1
            iadd
            istore 1 /* forSize */
        start local 1 // int forSize
         2: .line 491
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: bipush 8
            istore 3 /* newCapacity */
        start local 3 // int newCapacity
         4: goto 9
         5: .line 492
      StackMap locals: int int int
      StackMap stack:
            iload 3 /* newCapacity */
            iload 1 /* forSize */
            if_icmple 8
         6: .line 493
            aload 0 /* this */
            getstatic org.jruby.RubyHash.MRI_PRIMES:[I
            iload 2 /* i */
            iaload
            invokevirtual org.jruby.RubyHash.resize:(I)V
         7: .line 494
            return
         8: .line 491
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
            iload 3 /* newCapacity */
            iconst_1
            ishl
            istore 3 /* newCapacity */
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            getstatic org.jruby.RubyHash.MRI_PRIMES:[I
            arraylength
            if_icmplt 5
        end local 3 // int newCapacity
        end local 2 // int i
        10: .line 497
            return
        end local 1 // int forSize
        11: .line 499
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lorg/jruby/RubyHash;
            2   11     1      forSize  I
            3   10     2            i  I
            4   10     3  newCapacity  I

  protected final int hashValue(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 505
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
            ifeq 1
            aload 1 /* key */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* key */
            invokevirtual java.lang.Object.hashCode:()I
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* h */
        start local 2 // int h
         3: .line 506
            iload 2 /* h */
            invokestatic org.jruby.RubyHash.MRIHashValue:(I)I
            ireturn
        end local 2 // int h
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/RubyHash;
            0    4     1   key  Lorg/jruby/runtime/builtin/IRubyObject;
            3    4     2     h  I
    MethodParameters:
      Name  Flags
      key   final

  private static int bucketIndex(int, int);
    descriptor: (II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int h
        start local 1 // int length
         0: .line 510
            iload 0 /* h */
            iload 1 /* length */
            invokestatic org.jruby.RubyHash.MRIBucketIndex:(II)I
            ireturn
        end local 1 // int length
        end local 0 // int h
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0       h  I
            0    1     1  length  I
    MethodParameters:
        Name  Flags
      h       final
      length  final

  private void checkResize();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 514
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.MRICheckResize:()V
         1: .line 515
            return
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyHash;

  protected final void checkIterating();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 518
            aload 0 /* this */
            getfield org.jruby.RubyHash.iteratorCount:I
            ifle 2
         1: .line 519
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            ldc "can't add a new key into hash during iteration"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 521
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyHash;

  public org.jruby.runtime.builtin.IRubyObject internalPut(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 526
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.checkResize:()V
         1: .line 527
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            iconst_1
            invokevirtual org.jruby.RubyHash.internalPutNoResize:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/RubyHash;
            0    2     1    key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      key    final
      value  final

  private void internalPutSmall(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 531
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            iconst_1
            invokevirtual org.jruby.RubyHash.internalPutNoResize:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         1: .line 532
            return
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/RubyHash;
            0    2     1    key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      key    final
      value  final

  private void internalPut(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, boolean);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
        start local 3 // boolean checkForExisting
         0: .line 535
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.checkResize:()V
         1: .line 536
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            iload 3 /* checkForExisting */
            invokevirtual org.jruby.RubyHash.internalPutNoResize:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 537
            return
        end local 3 // boolean checkForExisting
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lorg/jruby/RubyHash;
            0    3     1               key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2             value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3  checkForExisting  Z
    MethodParameters:
                  Name  Flags
      key               final
      value             final
      checkForExisting  final

  final boolean internalPutIfNoKey(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 540
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.jruby.RubyHash.internalGetEntry:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
            getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
            if_acmpne 3
         1: .line 541
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual org.jruby.RubyHash.internalPut:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 542
            iconst_1
            ireturn
         3: .line 544
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/RubyHash;
            0    4     1    key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      key    final
      value  final

  protected final org.jruby.runtime.builtin.IRubyObject internalJavaPut(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 549
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.checkResize:()V
         1: .line 551
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            iconst_1
            invokevirtual org.jruby.RubyHash.internalPutNoResize:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/RubyHash;
            0    2     1    key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      key    final
      value  final

  protected org.jruby.runtime.builtin.IRubyObject internalPutNoResize(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, boolean);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=8, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
        start local 3 // boolean checkForExisting
         0: .line 555
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.jruby.RubyHash.hashValue:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 4 /* hash */
        start local 4 // int hash
         1: .line 556
            iload 4 /* hash */
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            arraylength
            invokestatic org.jruby.RubyHash.bucketIndex:(II)I
            istore 5 /* i */
        start local 5 // int i
         2: .line 558
            iload 3 /* checkForExisting */
            ifeq 11
         3: .line 559
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            iload 5 /* i */
            aaload
            astore 6 /* entry */
        start local 6 // org.jruby.RubyHash$RubyHashEntry entry
         4: goto 10
         5: .line 560
      StackMap locals: int int org.jruby.RubyHash$RubyHashEntry
      StackMap stack:
            aload 0 /* this */
            aload 6 /* entry */
            iload 4 /* hash */
            aload 1 /* key */
            invokevirtual org.jruby.RubyHash.internalKeyExist:(Lorg/jruby/RubyHash$RubyHashEntry;ILorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 9
         6: .line 561
            aload 6 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* existing */
        start local 7 // org.jruby.runtime.builtin.IRubyObject existing
         7: .line 562
            aload 6 /* entry */
            aload 2 /* value */
            putfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
         8: .line 564
            aload 7 /* existing */
            areturn
        end local 7 // org.jruby.runtime.builtin.IRubyObject existing
         9: .line 559
      StackMap locals:
      StackMap stack:
            aload 6 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 6 /* entry */
      StackMap locals:
      StackMap stack:
        10: aload 6 /* entry */
            ifnonnull 5
        end local 6 // org.jruby.RubyHash$RubyHashEntry entry
        11: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.checkIterating:()V
        12: .line 571
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            iload 5 /* i */
            new org.jruby.RubyHash$RubyHashEntry
            dup
            iload 4 /* hash */
            aload 1 /* key */
            aload 2 /* value */
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            iload 5 /* i */
            aaload
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            invokespecial org.jruby.RubyHash$RubyHashEntry.<init>:(ILorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyHash$RubyHashEntry;Lorg/jruby/RubyHash$RubyHashEntry;)V
            aastore
        13: .line 572
            aload 0 /* this */
            dup
            getfield org.jruby.RubyHash.size:I
            iconst_1
            iadd
            putfield org.jruby.RubyHash.size:I
        14: .line 575
            aconst_null
            areturn
        end local 5 // int i
        end local 4 // int hash
        end local 3 // boolean checkForExisting
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Lorg/jruby/RubyHash;
            0   15     1               key  Lorg/jruby/runtime/builtin/IRubyObject;
            0   15     2             value  Lorg/jruby/runtime/builtin/IRubyObject;
            0   15     3  checkForExisting  Z
            1   15     4              hash  I
            2   15     5                 i  I
            4   11     6             entry  Lorg/jruby/RubyHash$RubyHashEntry;
            7    9     7          existing  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
                  Name  Flags
      key               final
      value             final
      checkForExisting  final

  protected org.jruby.runtime.builtin.IRubyObject internalGet(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 581
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.jruby.RubyHash.internalGetEntry:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
            getfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;
            0    1     1   key  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      key   

  protected org.jruby.RubyHash$RubyHashEntry internalGetEntry(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 585
            aload 0 /* this */
            getfield org.jruby.RubyHash.size:I
            ifne 1
            getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
            areturn
         1: .line 587
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.jruby.RubyHash.hashValue:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 2 /* hash */
        start local 2 // int hash
         2: .line 588
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            iload 2 /* hash */
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            arraylength
            invokestatic org.jruby.RubyHash.bucketIndex:(II)I
            aaload
            astore 3 /* entry */
        start local 3 // org.jruby.RubyHash$RubyHashEntry entry
         3: goto 7
         4: .line 589
      StackMap locals: int org.jruby.RubyHash$RubyHashEntry
      StackMap stack:
            aload 0 /* this */
            aload 3 /* entry */
            iload 2 /* hash */
            aload 1 /* key */
            invokevirtual org.jruby.RubyHash.internalKeyExist:(Lorg/jruby/RubyHash$RubyHashEntry;ILorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 6
         5: .line 590
            aload 3 /* entry */
            areturn
         6: .line 588
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 3 /* entry */
      StackMap locals:
      StackMap stack:
         7: aload 3 /* entry */
            ifnonnull 4
        end local 3 // org.jruby.RubyHash$RubyHashEntry entry
         8: .line 593
            getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
            areturn
        end local 2 // int hash
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/jruby/RubyHash;
            0    9     1    key  Lorg/jruby/runtime/builtin/IRubyObject;
            2    9     2   hash  I
            3    8     3  entry  Lorg/jruby/RubyHash$RubyHashEntry;
    MethodParameters:
      Name  Flags
      key   

  final org.jruby.RubyHash$RubyHashEntry getEntry(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 597
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.jruby.RubyHash.internalGetEntry:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;
            0    1     1   key  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      key   

  private boolean internalKeyExist(org.jruby.RubyHash$RubyHashEntry, int, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/RubyHash$RubyHashEntry;ILorg/jruby/runtime/builtin/IRubyObject;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.RubyHash$RubyHashEntry entry
        start local 2 // int hash
        start local 3 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 601
            aload 1 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.hash:I
            iload 2 /* hash */
            if_icmpne 3
         1: .line 602
            aload 1 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 3 /* key */
            if_acmpeq 2
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
            ifne 3
            aload 3 /* key */
            aload 1 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.eql:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 3
         2: .line 601
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject key
        end local 2 // int hash
        end local 1 // org.jruby.RubyHash$RubyHashEntry entry
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/RubyHash;
            0    4     1  entry  Lorg/jruby/RubyHash$RubyHashEntry;
            0    4     2   hash  I
            0    4     3    key  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      entry  
      hash   
      key    

  protected org.jruby.RubyHash$RubyHashEntry internalDelete(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 609
            aload 0 /* this */
            getfield org.jruby.RubyHash.size:I
            ifne 1
            getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
            areturn
         1: .line 611
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.jruby.RubyHash.hashValue:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            getstatic org.jruby.RubyHash.MATCH_KEY:Lorg/jruby/RubyHash$EntryMatchType;
            aload 1 /* key */
            invokevirtual org.jruby.RubyHash.internalDelete:(ILorg/jruby/RubyHash$EntryMatchType;Ljava/lang/Object;)Lorg/jruby/RubyHash$RubyHashEntry;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyHash;
            0    2     1   key  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      key   final

  protected org.jruby.RubyHash$RubyHashEntry internalDeleteEntry(org.jruby.RubyHash$RubyHashEntry);
    descriptor: (Lorg/jruby/RubyHash$RubyHashEntry;)Lorg/jruby/RubyHash$RubyHashEntry;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.RubyHash$RubyHashEntry entry
         0: .line 616
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyHash.hashValue:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            getstatic org.jruby.RubyHash.MATCH_ENTRY:Lorg/jruby/RubyHash$EntryMatchType;
            aload 1 /* entry */
            invokevirtual org.jruby.RubyHash.internalDelete:(ILorg/jruby/RubyHash$EntryMatchType;Ljava/lang/Object;)Lorg/jruby/RubyHash$RubyHashEntry;
            areturn
        end local 1 // org.jruby.RubyHash$RubyHashEntry entry
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyHash;
            0    1     1  entry  Lorg/jruby/RubyHash$RubyHashEntry;
    MethodParameters:
       Name  Flags
      entry  final

  private final org.jruby.RubyHash$RubyHashEntry internalDelete(int, org.jruby.RubyHash$EntryMatchType, java.lang.Object);
    descriptor: (ILorg/jruby/RubyHash$EntryMatchType;Ljava/lang/Object;)Lorg/jruby/RubyHash$RubyHashEntry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // int hash
        start local 2 // org.jruby.RubyHash$EntryMatchType matchType
        start local 3 // java.lang.Object obj
         0: .line 620
            iload 1 /* hash */
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            arraylength
            invokestatic org.jruby.RubyHash.bucketIndex:(II)I
            istore 4 /* i */
        start local 4 // int i
         1: .line 622
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            iload 4 /* i */
            aaload
            astore 5 /* entry */
        start local 5 // org.jruby.RubyHash$RubyHashEntry entry
         2: .line 623
            aload 5 /* entry */
            ifnull 15
         3: .line 624
            aconst_null
            astore 6 /* prior */
        start local 6 // org.jruby.RubyHash$RubyHashEntry prior
         4: .line 625
            goto 14
         5: .line 626
      StackMap locals: int org.jruby.RubyHash$RubyHashEntry org.jruby.RubyHash$RubyHashEntry
      StackMap stack:
            aload 5 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.hash:I
            iload 1 /* hash */
            if_icmpne 13
            aload 2 /* matchType */
            aload 5 /* entry */
            aload 3 /* obj */
            invokevirtual org.jruby.RubyHash$EntryMatchType.matches:(Lorg/jruby/RubyHash$RubyHashEntry;Ljava/lang/Object;)Z
            ifeq 13
         6: .line 627
            aload 6 /* prior */
            ifnull 9
         7: .line 628
            aload 6 /* prior */
            aload 5 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
            putfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
         8: .line 629
            goto 10
         9: .line 630
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            iload 4 /* i */
            aload 5 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
            aastore
        10: .line 632
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            invokevirtual org.jruby.RubyHash$RubyHashEntry.detach:()V
        11: .line 633
            aload 0 /* this */
            dup
            getfield org.jruby.RubyHash.size:I
            iconst_1
            isub
            putfield org.jruby.RubyHash.size:I
        12: .line 634
            aload 5 /* entry */
            areturn
        13: .line 625
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            astore 6 /* prior */
            aload 5 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 5 /* entry */
      StackMap locals:
      StackMap stack:
        14: aload 5 /* entry */
            ifnonnull 5
        end local 6 // org.jruby.RubyHash$RubyHashEntry prior
        15: .line 639
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
            areturn
        end local 5 // org.jruby.RubyHash$RubyHashEntry entry
        end local 4 // int i
        end local 3 // java.lang.Object obj
        end local 2 // org.jruby.RubyHash$EntryMatchType matchType
        end local 1 // int hash
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/jruby/RubyHash;
            0   16     1       hash  I
            0   16     2  matchType  Lorg/jruby/RubyHash$EntryMatchType;
            0   16     3        obj  Ljava/lang/Object;
            1   16     4          i  I
            2   16     5      entry  Lorg/jruby/RubyHash$RubyHashEntry;
            4   15     6      prior  Lorg/jruby/RubyHash$RubyHashEntry;
    MethodParameters:
           Name  Flags
      hash       final
      matchType  final
      obj        final

  private final org.jruby.RubyHash$RubyHashEntry[] internalCopyTable(org.jruby.RubyHash$RubyHashEntry);
    descriptor: (Lorg/jruby/RubyHash$RubyHashEntry;)[Lorg/jruby/RubyHash$RubyHashEntry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=9, locals=5, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.RubyHash$RubyHashEntry destHead
         0: .line 662
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            arraylength
            anewarray org.jruby.RubyHash$RubyHashEntry
            astore 2 /* newTable */
        start local 2 // org.jruby.RubyHash$RubyHashEntry[] newTable
         1: .line 664
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 3 /* entry */
        start local 3 // org.jruby.RubyHash$RubyHashEntry entry
         2: goto 6
         3: .line 665
      StackMap locals: org.jruby.RubyHash$RubyHashEntry[] org.jruby.RubyHash$RubyHashEntry
      StackMap stack:
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.hash:I
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            arraylength
            invokestatic org.jruby.RubyHash.bucketIndex:(II)I
            istore 4 /* i */
        start local 4 // int i
         4: .line 666
            aload 2 /* newTable */
            iload 4 /* i */
            new org.jruby.RubyHash$RubyHashEntry
            dup
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.hash:I
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* newTable */
            iload 4 /* i */
            aaload
            aload 1 /* destHead */
            invokespecial org.jruby.RubyHash$RubyHashEntry.<init>:(ILorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyHash$RubyHashEntry;Lorg/jruby/RubyHash$RubyHashEntry;)V
            aastore
        end local 4 // int i
         5: .line 664
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 3 /* entry */
      StackMap locals:
      StackMap stack:
         6: aload 3 /* entry */
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            if_acmpne 3
        end local 3 // org.jruby.RubyHash$RubyHashEntry entry
         7: .line 668
            aload 2 /* newTable */
            areturn
        end local 2 // org.jruby.RubyHash$RubyHashEntry[] newTable
        end local 1 // org.jruby.RubyHash$RubyHashEntry destHead
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/jruby/RubyHash;
            0    8     1  destHead  Lorg/jruby/RubyHash$RubyHashEntry;
            1    8     2  newTable  [Lorg/jruby/RubyHash$RubyHashEntry;
            2    7     3     entry  Lorg/jruby/RubyHash$RubyHashEntry;
            4    5     4         i  I
    MethodParameters:
          Name  Flags
      destHead  

  public <T> void visitAll(org.jruby.runtime.ThreadContext, org.jruby.RubyHash$VisitorWithState, );
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyHash$VisitorWithState visitor
        start local 3 // java.lang.Object state
         0: .line 684
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* visitor */
            ldc -1
            aload 3 /* state */
            invokevirtual org.jruby.RubyHash.visitLimited:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;JLjava/lang/Object;)V
         1: .line 685
            return
        end local 3 // java.lang.Object state
        end local 2 // org.jruby.RubyHash$VisitorWithState visitor
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyHash;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2  visitor  Lorg/jruby/RubyHash$VisitorWithState;
            0    2     3    state  TT;
    Signature: <T:Ljava/lang/Object;>(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;TT;)V
    MethodParameters:
         Name  Flags
      context  
      visitor  
      state    

  private <T> void visitLimited(org.jruby.runtime.ThreadContext, org.jruby.RubyHash$VisitorWithState, long, );
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;JLjava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=5
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyHash$VisitorWithState visitor
        start local 3 // long size
        start local 5 // java.lang.Object state
         0: .line 688
            aload 0 /* this */
            getfield org.jruby.RubyHash.generation:I
            istore 6 /* startGeneration */
        start local 6 // int startGeneration
         1: .line 689
            lload 3 /* size */
            lstore 7 /* count */
        start local 7 // long count
         2: .line 690
            iconst_0
            istore 9 /* index */
        start local 9 // int index
         3: .line 692
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 10 /* entry */
        start local 10 // org.jruby.RubyHash$RubyHashEntry entry
         4: goto 13
         5: .line 693
      StackMap locals: org.jruby.RubyHash org.jruby.runtime.ThreadContext org.jruby.RubyHash$VisitorWithState long java.lang.Object int long int org.jruby.RubyHash$RubyHashEntry
      StackMap stack:
            iload 6 /* startGeneration */
            aload 0 /* this */
            getfield org.jruby.RubyHash.generation:I
            if_icmpeq 9
         6: .line 694
            aload 0 /* this */
            getfield org.jruby.RubyHash.generation:I
            istore 6 /* startGeneration */
         7: .line 695
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 10 /* entry */
         8: .line 696
            aload 10 /* entry */
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            if_acmpne 9
            goto 14
         9: .line 698
      StackMap locals:
      StackMap stack:
            aload 10 /* entry */
            ifnull 12
            aload 10 /* entry */
            invokevirtual org.jruby.RubyHash$RubyHashEntry.isLive:()Z
            ifeq 12
        10: .line 699
            aload 2 /* visitor */
            aload 1 /* context */
            aload 0 /* this */
            aload 10 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 10 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
            iload 9 /* index */
            iinc 9 /* index */ 1
            aload 5 /* state */
            invokevirtual org.jruby.RubyHash$VisitorWithState.visit:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;ILjava/lang/Object;)V
        11: .line 700
            lload 7 /* count */
            lconst_1
            lsub
            lstore 7 /* count */
        12: .line 692
      StackMap locals:
      StackMap stack:
            aload 10 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 10 /* entry */
      StackMap locals:
      StackMap stack:
        13: aload 10 /* entry */
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            if_acmpeq 14
            lload 7 /* count */
            lconst_0
            lcmp
            ifne 5
        end local 10 // org.jruby.RubyHash$RubyHashEntry entry
        14: .line 706
      StackMap locals:
      StackMap stack:
            lload 7 /* count */
            lconst_0
            lcmp
            ifle 15
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.concurrentModification:()Lorg/jruby/exceptions/RaiseException;
            athrow
        15: .line 707
      StackMap locals:
      StackMap stack:
            return
        end local 9 // int index
        end local 7 // long count
        end local 6 // int startGeneration
        end local 5 // java.lang.Object state
        end local 3 // long size
        end local 2 // org.jruby.RubyHash$VisitorWithState visitor
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Lorg/jruby/RubyHash;
            0   16     1          context  Lorg/jruby/runtime/ThreadContext;
            0   16     2          visitor  Lorg/jruby/RubyHash$VisitorWithState;
            0   16     3             size  J
            0   16     5            state  TT;
            1   16     6  startGeneration  I
            2   16     7            count  J
            3   16     9            index  I
            4   14    10            entry  Lorg/jruby/RubyHash$RubyHashEntry;
    Signature: <T:Ljava/lang/Object;>(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;JTT;)V
    MethodParameters:
         Name  Flags
      context  
      visitor  
      size     
      state    

  public <T> boolean allSymbols();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 710
            aload 0 /* this */
            getfield org.jruby.RubyHash.generation:I
            istore 1 /* startGeneration */
        start local 1 // int startGeneration
         1: .line 712
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 2 /* head */
        start local 2 // org.jruby.RubyHash$RubyHashEntry head
         2: .line 713
            aload 2 /* head */
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 3 /* entry */
        start local 3 // org.jruby.RubyHash$RubyHashEntry entry
         3: goto 11
         4: .line 714
      StackMap locals: int org.jruby.RubyHash$RubyHashEntry org.jruby.RubyHash$RubyHashEntry
      StackMap stack:
            iload 1 /* startGeneration */
            aload 0 /* this */
            getfield org.jruby.RubyHash.generation:I
            if_icmpeq 8
         5: .line 715
            aload 0 /* this */
            getfield org.jruby.RubyHash.generation:I
            istore 1 /* startGeneration */
         6: .line 716
            aload 2 /* head */
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 3 /* entry */
         7: .line 717
            aload 3 /* entry */
            aload 2 /* head */
            if_acmpne 8
            goto 12
         8: .line 719
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            ifnull 10
            aload 3 /* entry */
            invokevirtual org.jruby.RubyHash$RubyHashEntry.isLive:()Z
            ifeq 10
         9: .line 720
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
            instanceof org.jruby.RubySymbol
            ifne 10
            iconst_0
            ireturn
        10: .line 713
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 3 /* entry */
      StackMap locals:
      StackMap stack:
        11: aload 3 /* entry */
            aload 2 /* head */
            if_acmpne 4
        end local 3 // org.jruby.RubyHash$RubyHashEntry entry
        12: .line 723
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // org.jruby.RubyHash$RubyHashEntry head
        end local 1 // int startGeneration
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lorg/jruby/RubyHash;
            1   13     1  startGeneration  I
            2   13     2             head  Lorg/jruby/RubyHash$RubyHashEntry;
            3   12     3            entry  Lorg/jruby/RubyHash$RubyHashEntry;
    Signature: <T:Ljava/lang/Object;>()Z

  public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 2 // org.jruby.runtime.Block block
         0: .line 741
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.modify:()V
         1: .line 743
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 6
         2: .line 744
            aload 1 /* args */
            arraylength
            ifle 3
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            ldc "wrong number of arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 745
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            getstatic org.jruby.runtime.Block$Type.PROC:Lorg/jruby/runtime/Block$Type;
            aload 2 /* block */
            invokevirtual org.jruby.Ruby.newProc:(Lorg/jruby/runtime/Block$Type;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyProc;
            putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
         4: .line 746
            aload 0 /* this */
            dup
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
            ior
            putfield org.jruby.RubyHash.flags:I
         5: .line 747
            goto 9
         6: .line 748
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 1 /* args */
            iconst_0
            iconst_1
            invokestatic org.jruby.runtime.Arity.checkArgumentCount:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)I
            pop
         7: .line 749
            aload 1 /* args */
            arraylength
            iconst_1
            if_icmpne 8
            aload 0 /* this */
            aload 1 /* args */
            iconst_0
            aaload
            putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
         8: .line 750
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            arraylength
            ifne 9
            aload 0 /* this */
            getstatic org.jruby.RubyHash.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
         9: .line 752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/jruby/RubyHash;
            0   10     1   args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0   10     2  block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(optional = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
       Name  Flags
      args   
      block  final

  public org.jruby.runtime.builtin.IRubyObject default_value_get(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 757
            aload 0 /* this */
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
            iand
            ifeq 2
         1: .line 758
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 760
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
            getstatic org.jruby.RubyHash.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         4: areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyHash;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"default"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject default_value_get(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 765
            aload 0 /* this */
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
            iand
            ifeq 2
         1: .line 766
            aload 1 /* context */
            invokestatic org.jruby.RubyHash.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$HashSites;
            getfield org.jruby.runtime.JavaSites$HashSites.call:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            aload 2 /* arg */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 768
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
            getstatic org.jruby.RubyHash.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         4: areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyHash;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"default"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject default_value_set(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject defaultValue
         0: .line 776
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.modify:()V
         1: .line 778
            aload 0 /* this */
            aload 1 /* defaultValue */
            putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
         2: .line 779
            aload 0 /* this */
            dup
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
            iconst_m1
            ixor
            iand
            putfield org.jruby.RubyHash.flags:I
         3: .line 781
            aload 0 /* this */
            getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject defaultValue
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/jruby/RubyHash;
            0    4     1  defaultValue  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"default="}, required = 1)
    MethodParameters:
              Name  Flags
      defaultValue  final

  public org.jruby.runtime.builtin.IRubyObject default_proc();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 789
            aload 0 /* this */
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
            iand
            ifeq 1
            aload 0 /* this */
            getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()

  private void checkDefaultProcArity(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject proc
         0: .line 796
            aload 1 /* proc */
            checkcast org.jruby.RubyProc
            invokevirtual org.jruby.RubyProc.getBlock:()Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.runtime.Block.getSignature:()Lorg/jruby/runtime/Signature;
            invokevirtual org.jruby.runtime.Signature.arityValue:()I
            istore 2 /* n */
        start local 2 // int n
         1: .line 798
            aload 1 /* proc */
            checkcast org.jruby.RubyProc
            invokevirtual org.jruby.RubyProc.getBlock:()Lorg/jruby/runtime/Block;
            getfield org.jruby.runtime.Block.type:Lorg/jruby/runtime/Block$Type;
            getstatic org.jruby.runtime.Block$Type.LAMBDA:Lorg/jruby/runtime/Block$Type;
            if_acmpne 4
            iload 2 /* n */
            iconst_2
            if_icmpeq 4
            iload 2 /* n */
            ifge 2
            iload 2 /* n */
            bipush -3
            if_icmpge 4
         2: .line 799
      StackMap locals: int
      StackMap stack:
            iload 2 /* n */
            ifge 3
            iload 2 /* n */
            ineg
            iconst_1
            isub
            istore 2 /* n */
         3: .line 800
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "default_proc takes two arguments (2 for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* n */
            invokevirtual java.lang.StringBuilder.append:(I)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.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 802
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int n
        end local 1 // org.jruby.runtime.builtin.IRubyObject proc
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyHash;
            0    5     1  proc  Lorg/jruby/runtime/builtin/IRubyObject;
            1    5     2     n  I
    MethodParameters:
      Name  Flags
      proc  

  public org.jruby.runtime.builtin.IRubyObject set_default_proc(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject proc
         0: .line 809
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.modify:()V
         1: .line 811
            aload 1 /* proc */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 5
         2: .line 812
            aload 0 /* this */
            aload 1 /* proc */
            putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
         3: .line 813
            aload 0 /* this */
            dup
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
            iconst_m1
            ixor
            iand
            putfield org.jruby.RubyHash.flags:I
         4: .line 814
            aload 1 /* proc */
            areturn
         5: .line 817
      StackMap locals:
      StackMap stack:
            aload 1 /* proc */
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getProc:()Lorg/jruby/RubyClass;
            ldc "to_proc"
            invokestatic org.jruby.util.TypeConverter.convertToType:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* b */
        start local 2 // org.jruby.runtime.builtin.IRubyObject b
         6: .line 818
            aload 2 /* b */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 7
            aload 2 /* b */
            instanceof org.jruby.RubyProc
            ifne 8
         7: .line 819
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "wrong default_proc type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* proc */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " (expected Proc)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 821
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            astore 1 /* proc */
         9: .line 822
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.jruby.RubyHash.checkDefaultProcArity:(Lorg/jruby/runtime/builtin/IRubyObject;)V
        10: .line 823
            aload 0 /* this */
            aload 1 /* proc */
            putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
        11: .line 824
            aload 0 /* this */
            dup
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
            ior
            putfield org.jruby.RubyHash.flags:I
        12: .line 825
            aload 1 /* proc */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject b
        end local 1 // org.jruby.runtime.builtin.IRubyObject proc
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/jruby/RubyHash;
            0   13     1  proc  Lorg/jruby/runtime/builtin/IRubyObject;
            6   13     2     b  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"default_proc="})
    MethodParameters:
      Name  Flags
      proc  

  public org.jruby.runtime.builtin.IRubyObject set_default_proc20(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject proc
         0: .line 830
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.jruby.RubyHash.set_default_proc:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject proc
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;
            0    1     1  proc  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      proc  

  public void modify();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 837
            aload 0 /* this */
            ldc "Hash"
            invokevirtual org.jruby.RubyHash.testFrozen:(Ljava/lang/String;)V
         1: .line 838
            return
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyHash;

  private org.jruby.runtime.builtin.IRubyObject inspectHash(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 844
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            bipush 20
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;ILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            astore 2 /* str */
        start local 2 // org.jruby.RubyString str
         1: .line 846
            aload 2 /* str */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
         2: .line 848
            aload 2 /* str */
            bipush 123
            invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
            pop
         3: .line 850
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.InspectVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 2 /* str */
            invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         4: .line 851
            aload 2 /* str */
            bipush 125
            invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
            pop
         5: .line 852
            aload 2 /* str */
            areturn
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyHash;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            1    6     2      str  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      context  final

  public org.jruby.runtime.builtin.IRubyObject inspect();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 874
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            invokevirtual org.jruby.RubyHash.inspect:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;

  public org.jruby.runtime.builtin.IRubyObject inspect(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 882
            aload 0 /* this */
            getfield org.jruby.RubyHash.size:I
            ifne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "{}"
            invokestatic org.jruby.RubyString.newUSASCIIString:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
            areturn
         1: .line 883
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.isInspecting:(Ljava/lang/Object;)Z
            ifeq 2
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "{...}"
            invokestatic org.jruby.RubyString.newUSASCIIString:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
            areturn
         2: .line 886
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.registerInspecting:(Ljava/lang/Object;)V
         3: .line 887
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyHash.inspectHash:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3
         4: .line 889
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.unregisterInspecting:(Ljava/lang/Object;)V
         5: .line 887
            aload 3
            areturn
         6: .line 888
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
         7: .line 889
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.unregisterInspecting:(Ljava/lang/Object;)V
         8: .line 890
            aload 2
            athrow
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyHash;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
      Exception table:
        from    to  target  type
           2     4       6  any
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"inspect"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject inspect19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 895
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyHash.inspect:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyFixnum rb_size();
    descriptor: ()Lorg/jruby/RubyFixnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 903
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyHash.size:I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"size", "length"})

  private org.jruby.RubyEnumerator$SizeFn enumSizeFn();
    descriptor: ()Lorg/jruby/RubyEnumerator$SizeFn;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 907
            aload 0 /* this */
            astore 1 /* self */
        start local 1 // org.jruby.RubyHash self
         1: .line 908
            new org.jruby.RubyHash$30
            dup
            aload 0 /* this */
            aload 1 /* self */
            invokespecial org.jruby.RubyHash$30.<init>:(Lorg/jruby/RubyHash;Lorg/jruby/RubyHash;)V
            areturn
        end local 1 // org.jruby.RubyHash self
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyHash;
            1    2     1  self  Lorg/jruby/RubyHash;

  public org.jruby.RubyBoolean empty_p();
    descriptor: ()Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 921
            aload 0 /* this */
            getfield org.jruby.RubyHash.size:I
            ifne 1
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
      StackMap locals:
      StackMap stack: org.jruby.RubyBoolean
         2: areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"empty?"})

  public org.jruby.RubyArray to_a();
    descriptor: ()Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 930
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 1 /* runtime */
        start local 1 // org.jruby.Ruby runtime
         1: .line 932
            aload 1 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyHash.size:I
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 2 /* result */
        start local 2 // org.jruby.RubyArray result
         2: .line 934
            aload 0 /* this */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            getstatic org.jruby.RubyHash.StoreKeyValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 2 /* result */
            invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         3: .line 936
            aload 2 /* result */
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.isTaint:()Z
            invokevirtual org.jruby.RubyArray.setTaint:(Z)V
         4: .line 937
            aload 2 /* result */
         5: areturn
        end local 2 // org.jruby.RubyArray result
         6: .line 938
      StackMap locals: org.jruby.RubyHash org.jruby.Ruby
      StackMap stack: java.lang.NegativeArraySizeException
            pop
         7: .line 939
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.concurrentModification:()Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyHash;
            1    8     1  runtime  Lorg/jruby/Ruby;
            2    6     2   result  Lorg/jruby/RubyArray;
      Exception table:
        from    to  target  type
           1     5       6  Class java.lang.NegativeArraySizeException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_a"})

  public org.jruby.runtime.builtin.IRubyObject to_s(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 955
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyHash.inspect:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_s"})
    MethodParameters:
         Name  Flags
      context  

  public final org.jruby.runtime.builtin.IRubyObject to_s19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 959
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyHash.to_s:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyHash rehash();
    descriptor: ()Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 967
            aload 0 /* this */
            getfield org.jruby.RubyHash.iteratorCount:I
            ifle 2
         1: .line 968
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.getRuntime:()Lorg/jruby/Ruby;
            ldc "rehash during iteration"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 971
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.modify:()V
         3: .line 972
            aload 0 /* this */
            getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
            astore 1 /* oldTable */
        start local 1 // org.jruby.RubyHash$RubyHashEntry[] oldTable
         4: .line 973
            aload 1 /* oldTable */
            arraylength
            anewarray org.jruby.RubyHash$RubyHashEntry
            astore 2 /* newTable */
        start local 2 // org.jruby.RubyHash$RubyHashEntry[] newTable
         5: .line 974
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         6: goto 25
         7: .line 975
      StackMap locals: org.jruby.RubyHash$RubyHashEntry[] org.jruby.RubyHash$RubyHashEntry[] int
      StackMap stack:
            aload 1 /* oldTable */
            iload 3 /* j */
            aaload
            astore 4 /* entry */
        start local 4 // org.jruby.RubyHash$RubyHashEntry entry
         8: .line 976
            aload 1 /* oldTable */
            iload 3 /* j */
            aconst_null
            aastore
         9: .line 977
            goto 23
        10: .line 978
      StackMap locals: org.jruby.RubyHash$RubyHashEntry
      StackMap stack:
            aload 4 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 5 /* next */
        start local 5 // org.jruby.RubyHash$RubyHashEntry next
        11: .line 979
            aload 4 /* entry */
            aload 0 /* this */
            aload 4 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyHash.hashValue:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            putfield org.jruby.RubyHash$RubyHashEntry.hash:I
        12: .line 980
            aload 4 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.hash:I
            aload 2 /* newTable */
            arraylength
            invokestatic org.jruby.RubyHash.bucketIndex:(II)I
            istore 6 /* i */
        start local 6 // int i
        13: .line 982
            aload 2 /* newTable */
            iload 6 /* i */
            aaload
            ifnull 20
            aload 0 /* this */
            aload 2 /* newTable */
            iload 6 /* i */
            aaload
            aload 4 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.hash:I
            aload 4 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyHash.internalKeyExist:(Lorg/jruby/RubyHash$RubyHashEntry;ILorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 20
        14: .line 983
            aload 4 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 7 /* tmpNext */
        start local 7 // org.jruby.RubyHash$RubyHashEntry tmpNext
        15: .line 984
            aload 4 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.prevAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 8 /* tmpPrev */
        start local 8 // org.jruby.RubyHash$RubyHashEntry tmpPrev
        16: .line 985
            aload 8 /* tmpPrev */
            aload 7 /* tmpNext */
            putfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
        17: .line 986
            aload 8 /* tmpPrev */
            aload 8 /* tmpPrev */
            putfield org.jruby.RubyHash$RubyHashEntry.prevAdded:Lorg/jruby/RubyHash$RubyHashEntry;
        18: .line 987
            aload 0 /* this */
            dup
            getfield org.jruby.RubyHash.size:I
            iconst_1
            isub
            putfield org.jruby.RubyHash.size:I
        end local 8 // org.jruby.RubyHash$RubyHashEntry tmpPrev
        end local 7 // org.jruby.RubyHash$RubyHashEntry tmpNext
        19: .line 988
            goto 22
        20: .line 989
      StackMap locals: org.jruby.RubyHash$RubyHashEntry int
      StackMap stack:
            aload 4 /* entry */
            aload 2 /* newTable */
            iload 6 /* i */
            aaload
            putfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
        21: .line 990
            aload 2 /* newTable */
            iload 6 /* i */
            aload 4 /* entry */
            aastore
        22: .line 992
      StackMap locals:
      StackMap stack:
            aload 5 /* next */
            astore 4 /* entry */
        end local 6 // int i
        end local 5 // org.jruby.RubyHash$RubyHashEntry next
        23: .line 977
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            ifnonnull 10
        end local 4 // org.jruby.RubyHash$RubyHashEntry entry
        24: .line 974
            iinc 3 /* j */ 1
      StackMap locals:
      StackMap stack:
        25: iload 3 /* j */
            aload 1 /* oldTable */
            arraylength
            if_icmplt 7
        end local 3 // int j
        26: .line 995
            aload 0 /* this */
            aload 2 /* newTable */
            putfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
        27: .line 996
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.RubyHash$RubyHashEntry[] newTable
        end local 1 // org.jruby.RubyHash$RubyHashEntry[] oldTable
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   28     0      this  Lorg/jruby/RubyHash;
            4   28     1  oldTable  [Lorg/jruby/RubyHash$RubyHashEntry;
            5   28     2  newTable  [Lorg/jruby/RubyHash$RubyHashEntry;
            6   26     3         j  I
            8   24     4     entry  Lorg/jruby/RubyHash$RubyHashEntry;
           11   23     5      next  Lorg/jruby/RubyHash$RubyHashEntry;
           13   23     6         i  I
           15   19     7   tmpNext  Lorg/jruby/RubyHash$RubyHashEntry;
           16   19     8   tmpPrev  Lorg/jruby/RubyHash$RubyHashEntry;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"rehash"})

  public org.jruby.RubyHash to_hash();
    descriptor: ()Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 1004
            aload 0 /* this */
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_hash"})

  public org.jruby.RubyHash to_h(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1009
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 1010
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.getType:()Lorg/jruby/RubyClass;
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
            if_acmpne 2
            aload 0 /* this */
            goto 3
      StackMap locals: org.jruby.Ruby
      StackMap stack:
         2: aload 2 /* runtime */
            invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.replace:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash;
      StackMap locals:
      StackMap stack: org.jruby.RubyHash
         3: areturn
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyHash;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            1    4     2  runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

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

  public final void fastASet(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 1019
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual org.jruby.RubyHash.internalPut:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         1: .line 1020
            return
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/RubyHash;
            0    2     1    key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      key    
      value  

  public final void fastASetSmall(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 1023
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual org.jruby.RubyHash.internalPutSmall:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
         1: .line 1024
            return
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/RubyHash;
            0    2     1    key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      key    
      value  

  public final void fastASetCheckString(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 1027
            aload 2 /* key */
            instanceof org.jruby.RubyString
            ifeq 3
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
            ifne 3
         1: .line 1028
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* key */
            checkcast org.jruby.RubyString
            aload 3 /* value */
            invokevirtual org.jruby.RubyHash.op_asetForString:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 1029
            goto 4
         3: .line 1030
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* key */
            aload 3 /* value */
            invokevirtual org.jruby.RubyHash.internalPut:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         4: .line 1032
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyHash;
            0    5     1  runtime  Lorg/jruby/Ruby;
            0    5     2      key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     3    value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      key      
      value    

  public final void fastASetSmallCheckString(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 1035
            aload 2 /* key */
            instanceof org.jruby.RubyString
            ifeq 3
         1: .line 1036
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* key */
            checkcast org.jruby.RubyString
            aload 3 /* value */
            invokevirtual org.jruby.RubyHash.op_asetSmallForString:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 1037
            goto 4
         3: .line 1038
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* key */
            aload 3 /* value */
            invokevirtual org.jruby.RubyHash.internalPutSmall:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
         4: .line 1040
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyHash;
            0    5     1  runtime  Lorg/jruby/Ruby;
            0    5     2      key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     3    value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      key      
      value    

  public final void fastASet(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, boolean);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
        start local 4 // boolean prepareString
         0: .line 1043
            iload 4 /* prepareString */
            ifeq 3
         1: .line 1044
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* key */
            aload 3 /* value */
            invokevirtual org.jruby.RubyHash.fastASetCheckString:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 1045
            goto 4
         3: .line 1046
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* key */
            aload 3 /* value */
            invokevirtual org.jruby.RubyHash.fastASet:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
         4: .line 1048
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean prepareString
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/jruby/RubyHash;
            0    5     1        runtime  Lorg/jruby/Ruby;
            0    5     2            key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     3          value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     4  prepareString  Z
    MethodParameters:
               Name  Flags
      runtime        
      key            
      value          
      prepareString  

  public final void fastASetSmall(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, boolean);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
        start local 4 // boolean prepareString
         0: .line 1051
            iload 4 /* prepareString */
            ifeq 3
         1: .line 1052
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* key */
            aload 3 /* value */
            invokevirtual org.jruby.RubyHash.fastASetSmallCheckString:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 1053
            goto 4
         3: .line 1054
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* key */
            aload 3 /* value */
            invokevirtual org.jruby.RubyHash.fastASetSmall:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
         4: .line 1056
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean prepareString
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/jruby/RubyHash;
            0    5     1        runtime  Lorg/jruby/Ruby;
            0    5     2            key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     3          value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     4  prepareString  Z
    MethodParameters:
               Name  Flags
      runtime        
      key            
      value          
      prepareString  

  public org.jruby.runtime.builtin.IRubyObject op_aset(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 1063
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.modify:()V
         1: .line 1065
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* key */
            aload 3 /* value */
            invokevirtual org.jruby.RubyHash.fastASetCheckString:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 1066
            aload 3 /* value */
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3    value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"[]=", "store"})
    MethodParameters:
         Name  Flags
      context  
      key      
      value    

  protected void op_asetForString(org.jruby.Ruby, org.jruby.RubyString, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyString key
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 1071
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.jruby.RubyHash.internalGetEntry:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
            astore 4 /* entry */
        start local 4 // org.jruby.RubyHash$RubyHashEntry entry
         1: .line 1072
            aload 4 /* entry */
            getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
            if_acmpeq 4
         2: .line 1073
            aload 4 /* entry */
            aload 3 /* value */
            putfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
         3: .line 1074
            goto 7
         4: .line 1075
      StackMap locals: org.jruby.RubyHash$RubyHashEntry
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.checkIterating:()V
         5: .line 1076
            aload 2 /* key */
            invokevirtual org.jruby.RubyString.isFrozen:()Z
            ifne 6
            aload 2 /* key */
            invokevirtual org.jruby.RubyString.dupFrozen:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            astore 2 /* key */
         6: .line 1077
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* key */
            aload 3 /* value */
            iconst_0
            invokevirtual org.jruby.RubyHash.internalPut:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)V
         7: .line 1079
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.jruby.RubyHash$RubyHashEntry entry
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // org.jruby.RubyString key
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyHash;
            0    8     1  runtime  Lorg/jruby/Ruby;
            0    8     2      key  Lorg/jruby/RubyString;
            0    8     3    value  Lorg/jruby/runtime/builtin/IRubyObject;
            1    8     4    entry  Lorg/jruby/RubyHash$RubyHashEntry;
    MethodParameters:
         Name  Flags
      runtime  
      key      
      value    

  protected void op_asetSmallForString(org.jruby.Ruby, org.jruby.RubyString, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyString key
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 1082
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.jruby.RubyHash.internalGetEntry:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
            astore 4 /* entry */
        start local 4 // org.jruby.RubyHash$RubyHashEntry entry
         1: .line 1083
            aload 4 /* entry */
            getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
            if_acmpeq 4
         2: .line 1084
            aload 4 /* entry */
            aload 3 /* value */
            putfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
         3: .line 1085
            goto 7
         4: .line 1086
      StackMap locals: org.jruby.RubyHash$RubyHashEntry
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.checkIterating:()V
         5: .line 1087
            aload 2 /* key */
            invokevirtual org.jruby.RubyString.isFrozen:()Z
            ifne 6
            aload 2 /* key */
            invokevirtual org.jruby.RubyString.dupFrozen:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            astore 2 /* key */
         6: .line 1088
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* key */
            aload 3 /* value */
            iconst_0
            invokevirtual org.jruby.RubyHash.internalPutNoResize:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         7: .line 1090
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.jruby.RubyHash$RubyHashEntry entry
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // org.jruby.RubyString key
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyHash;
            0    8     1  runtime  Lorg/jruby/Ruby;
            0    8     2      key  Lorg/jruby/RubyString;
            0    8     3    value  Lorg/jruby/runtime/builtin/IRubyObject;
            1    8     4    entry  Lorg/jruby/RubyHash$RubyHashEntry;
    MethodParameters:
         Name  Flags
      runtime  
      key      
      value    

  public final org.jruby.runtime.builtin.IRubyObject fastARef(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 1094
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.jruby.RubyHash.internalGet:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;
            0    1     1   key  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      key   

  public org.jruby.RubyBoolean compare(org.jruby.runtime.ThreadContext, org.jruby.RubyHash$VisitorWithState<org.jruby.RubyHash>, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyHash$VisitorWithState visitor
        start local 3 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1099
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 1101
            aload 3 /* other */
            instanceof org.jruby.RubyHash
            ifne 5
         2: .line 1102
            aload 1 /* context */
            invokestatic org.jruby.RubyHash.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$HashSites;
            getfield org.jruby.runtime.JavaSites$HashSites.respond_to_to_hash:Lorg/jruby/runtime/callsite/RespondToCallSite;
            aload 1 /* context */
            aload 3 /* other */
            aload 3 /* other */
            invokevirtual org.jruby.runtime.callsite.RespondToCallSite.respondsTo:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifne 4
         3: .line 1103
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            areturn
         4: .line 1105
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 1 /* context */
            aload 3 /* other */
            aload 0 /* this */
            invokestatic org.jruby.runtime.Helpers.rbEqual:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
            areturn
         5: .line 1108
      StackMap locals:
      StackMap stack:
            aload 3 /* other */
            checkcast org.jruby.RubyHash
            astore 5 /* otherHash */
        start local 5 // org.jruby.RubyHash otherHash
         6: .line 1110
            aload 0 /* this */
            getfield org.jruby.RubyHash.size:I
            aload 5 /* otherHash */
            getfield org.jruby.RubyHash.size:I
            if_icmpeq 8
         7: .line 1111
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            areturn
         8: .line 1115
      StackMap locals: org.jruby.RubyHash
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* visitor */
            aload 5 /* otherHash */
            invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         9: .line 1116
            goto 12
      StackMap locals:
      StackMap stack: org.jruby.RubyHash$Mismatch
        10: pop
        11: .line 1117
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            areturn
        12: .line 1120
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            areturn
        end local 5 // org.jruby.RubyHash otherHash
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.builtin.IRubyObject other
        end local 2 // org.jruby.RubyHash$VisitorWithState visitor
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/jruby/RubyHash;
            0   13     1    context  Lorg/jruby/runtime/ThreadContext;
            0   13     2    visitor  Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/RubyHash;>;
            0   13     3      other  Lorg/jruby/runtime/builtin/IRubyObject;
            1   13     4    runtime  Lorg/jruby/Ruby;
            6   13     5  otherHash  Lorg/jruby/RubyHash;
      Exception table:
        from    to  target  type
           8     9      10  Class org.jruby.RubyHash$Mismatch
    Signature: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/RubyHash;>;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    MethodParameters:
         Name  Flags
      context  final
      visitor  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_equal(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1161
            aload 1 /* context */
            getstatic org.jruby.RubyHash.FindMismatchUsingEqualVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 0 /* this */
            aload 2 /* other */
            invokestatic org.jruby.util.RecursiveComparator.compare:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"=="})
    MethodParameters:
         Name  Flags
      context  final
      other    

  public org.jruby.runtime.builtin.IRubyObject op_eql(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1169
            aload 1 /* context */
            getstatic org.jruby.RubyHash.FindMismatchUsingEqlVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 0 /* this */
            aload 2 /* other */
            invokestatic org.jruby.util.RecursiveComparator.compare:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"eql?"})
    MethodParameters:
         Name  Flags
      context  final
      other    

  public org.jruby.runtime.builtin.IRubyObject op_eql19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1174
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyHash.op_eql:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  final
      other    

  public org.jruby.runtime.builtin.IRubyObject op_aref(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 1183
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.jruby.RubyHash.internalGet:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            dup
            astore 3 /* value */
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         1: ifnonnull 2
            aload 1 /* context */
            invokestatic org.jruby.RubyHash.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$HashSites;
            getfield org.jruby.runtime.JavaSites$HashSites.default_:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         2: aload 3 /* value */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         3: areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyHash;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2      key  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3    value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"[]"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      key      

  private boolean hash_le(org.jruby.RubyHash);
    descriptor: (Lorg/jruby/RubyHash;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.RubyHash other
         0: .line 1190
            aload 1 /* other */
            invokevirtual org.jruby.RubyHash.directEntrySet:()Ljava/util/Set;
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.directEntrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.containsAll:(Ljava/util/Collection;)Z
            ireturn
        end local 1 // org.jruby.RubyHash other
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyHash;
            0    1     1  other  Lorg/jruby/RubyHash;
    MethodParameters:
       Name  Flags
      other  

  public org.jruby.runtime.builtin.IRubyObject op_lt(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1195
            aload 2 /* other */
            checkcast org.jruby.RubyBasicObject
            invokevirtual org.jruby.RubyBasicObject.convertToHash:()Lorg/jruby/RubyHash;
            astore 3 /* otherHash */
        start local 3 // org.jruby.RubyHash otherHash
         1: .line 1196
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.size:()I
            aload 3 /* otherHash */
            invokevirtual org.jruby.RubyHash.size:()I
            if_icmplt 2
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         2: .line 1198
      StackMap locals: org.jruby.RubyHash
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 3 /* otherHash */
            invokevirtual org.jruby.RubyHash.hash_le:(Lorg/jruby/RubyHash;)Z
            invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/Ruby;Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 3 // org.jruby.RubyHash otherHash
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/RubyHash;
            0    3     1    context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      other  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3  otherHash  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"<"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_le(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1203
            aload 2 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToHash:()Lorg/jruby/RubyHash;
            astore 3 /* otherHash */
        start local 3 // org.jruby.RubyHash otherHash
         1: .line 1204
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.size:()I
            aload 3 /* otherHash */
            invokevirtual org.jruby.RubyHash.size:()I
            if_icmple 2
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         2: .line 1206
      StackMap locals: org.jruby.RubyHash
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 3 /* otherHash */
            invokevirtual org.jruby.RubyHash.hash_le:(Lorg/jruby/RubyHash;)Z
            invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/Ruby;Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 3 // org.jruby.RubyHash otherHash
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/RubyHash;
            0    3     1    context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      other  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3  otherHash  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"<="}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_gt(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1211
            aload 2 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToHash:()Lorg/jruby/RubyHash;
            astore 3 /* otherHash */
        start local 3 // org.jruby.RubyHash otherHash
         1: .line 1212
            aload 3 /* otherHash */
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.op_lt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.RubyHash otherHash
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/RubyHash;
            0    2     1    context  Lorg/jruby/runtime/ThreadContext;
            0    2     2      other  Lorg/jruby/runtime/builtin/IRubyObject;
            1    2     3  otherHash  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {">"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_ge(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1217
            aload 2 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToHash:()Lorg/jruby/RubyHash;
            astore 3 /* otherHash */
        start local 3 // org.jruby.RubyHash otherHash
         1: .line 1218
            aload 3 /* otherHash */
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.op_le:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.RubyHash otherHash
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/RubyHash;
            0    2     1    context  Lorg/jruby/runtime/ThreadContext;
            0    2     2      other  Lorg/jruby/runtime/builtin/IRubyObject;
            1    2     3  otherHash  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {">="}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.RubyFixnum hash();
    descriptor: ()Lorg/jruby/RubyFixnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 1226
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            invokevirtual org.jruby.RubyHash.hash:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyFixnum;
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;

  public org.jruby.RubyFixnum hash(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyFixnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1231
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: .line 1232
            iconst_1
            newarray 11
            dup
            iconst_0
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 2 /* size */
            i2l
            invokestatic org.jruby.runtime.Helpers.hashStart:(Lorg/jruby/Ruby;J)J
            lastore
            astore 3 /* hval */
        start local 3 // long[] hval
         2: .line 1233
            iload 2 /* size */
            ifle 4
         3: .line 1234
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.CalculateHashVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 3 /* hval */
            invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         4: .line 1236
      StackMap locals: int long[]
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* hval */
            iconst_0
            laload
            invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
            areturn
        end local 3 // long[] hval
        end local 2 // int size
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyHash;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            1    5     2     size  I
            2    5     3     hval  [J
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"hash"})
    MethodParameters:
         Name  Flags
      context  

  public final org.jruby.RubyFixnum hash19();
    descriptor: ()Lorg/jruby/RubyFixnum;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 1248
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            invokevirtual org.jruby.RubyHash.hash:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyFixnum;
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public org.jruby.runtime.builtin.IRubyObject fetch(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 1255
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* args */
            arraylength
            iconst_1
            iconst_2
            invokestatic org.jruby.runtime.Arity.checkArgumentCount:(Lorg/jruby/Ruby;III)I
            pop
         1: .line 1257
            aload 2 /* args */
            arraylength
            tableswitch { // 1 - 2
                    1: 2
                    2: 3
              default: 4
          }
         2: .line 1258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            aload 3 /* block */
            invokevirtual org.jruby.RubyHash.fetch:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 1259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            aload 2 /* args */
            iconst_1
            aaload
            aload 3 /* block */
            invokevirtual org.jruby.RubyHash.fetch:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 1262
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyHash;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     3    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  public org.jruby.runtime.builtin.IRubyObject fetch(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
        start local 3 // org.jruby.runtime.Block block
         0: .line 1267
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 1269
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.jruby.RubyHash.internalGet:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* value */
        start local 5 // org.jruby.runtime.builtin.IRubyObject value
         2: .line 1271
            aload 5 /* value */
            ifnonnull 5
         3: .line 1272
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 4
            aload 3 /* block */
            aload 1 /* context */
            aload 2 /* key */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 1274
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 4 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "key not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* key */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.inspect:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.jruby.Ruby.newKeyError:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 1277
      StackMap locals:
      StackMap stack:
            aload 5 /* value */
            areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject value
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyHash;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2      key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3    block  Lorg/jruby/runtime/Block;
            1    6     4  runtime  Lorg/jruby/Ruby;
            2    6     5    value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      key      
      block    

  public org.jruby.runtime.builtin.IRubyObject fetch(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=5
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
        start local 3 // org.jruby.runtime.builtin.IRubyObject _default
        start local 4 // org.jruby.runtime.Block block
         0: .line 1282
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 1283
            aload 4 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            istore 6 /* blockGiven */
        start local 6 // boolean blockGiven
         2: .line 1285
            iload 6 /* blockGiven */
            ifeq 4
         3: .line 1286
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.BLOCK_BEATS_DEFAULT_VALUE:Lorg/jruby/common/IRubyWarnings$ID;
            ldc "block supersedes default value argument"
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         4: .line 1289
      StackMap locals: org.jruby.Ruby int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.jruby.RubyHash.internalGet:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* value */
        start local 7 // org.jruby.runtime.builtin.IRubyObject value
         5: .line 1291
            aload 7 /* value */
            ifnonnull 8
         6: .line 1292
            iload 6 /* blockGiven */
            ifeq 7
            aload 4 /* block */
            aload 1 /* context */
            aload 2 /* key */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         7: .line 1294
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 3 /* _default */
            areturn
         8: .line 1297
      StackMap locals:
      StackMap stack:
            aload 7 /* value */
            areturn
        end local 7 // org.jruby.runtime.builtin.IRubyObject value
        end local 6 // boolean blockGiven
        end local 5 // org.jruby.Ruby runtime
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject _default
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/jruby/RubyHash;
            0    9     1     context  Lorg/jruby/runtime/ThreadContext;
            0    9     2         key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     3    _default  Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     4       block  Lorg/jruby/runtime/Block;
            1    9     5     runtime  Lorg/jruby/Ruby;
            2    9     6  blockGiven  Z
            5    9     7       value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
          Name  Flags
      context   
      key       
      _default  
      block     

  public org.jruby.RubyBoolean has_key_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 1305
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1306
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.jruby.RubyHash.internalGetEntry:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
            getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
            if_acmpne 2
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            goto 3
      StackMap locals: org.jruby.Ruby
      StackMap stack:
         2: aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
      StackMap locals:
      StackMap stack: org.jruby.RubyBoolean
         3: areturn
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyHash;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2      key  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3  runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"has_key?", "key?", "include?", "member?"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      key      

  public org.jruby.RubyBoolean has_key_p(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 1310
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.jruby.RubyHash.internalGetEntry:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
            getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
            if_acmpne 1
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
      StackMap locals:
      StackMap stack: org.jruby.RubyBoolean
         2: areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyHash;
            0    3     1   key  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      key   

  private boolean hasValue(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject expected
         0: .line 1340
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.FoundIfEqualVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 2 /* expected */
            invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         1: .line 1341
            iconst_0
            ireturn
         2: .line 1342
      StackMap locals:
      StackMap stack: org.jruby.RubyHash$Found
            pop
         3: .line 1343
            iconst_1
            ireturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject expected
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jruby/RubyHash;
            0    4     1   context  Lorg/jruby/runtime/ThreadContext;
            0    4     2  expected  Lorg/jruby/runtime/builtin/IRubyObject;
      Exception table:
        from    to  target  type
           0     1       2  Class org.jruby.RubyHash$Found
    MethodParameters:
          Name  Flags
      context   
      expected  

  public org.jruby.RubyBoolean has_value_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject expected
         0: .line 1361
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* expected */
            invokevirtual org.jruby.RubyHash.hasValue:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject expected
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/jruby/RubyHash;
            0    1     1   context  Lorg/jruby/runtime/ThreadContext;
            0    1     2  expected  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"has_value?", "value?"}, required = 1)
    MethodParameters:
          Name  Flags
      context   
      expected  

  private void iteratorEntry();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 1378
            getstatic org.jruby.RubyHash.ITERATOR_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            ifnonnull 3
         1: .line 1379
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorEntrySync:()V
         2: .line 1380
            return
         3: .line 1382
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyHash.ITERATOR_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 0 /* this */
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.incrementAndGet:(Ljava/lang/Object;)I
            pop
         4: .line 1383
            return
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyHash;

  private void iteratorExit();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 1386
            getstatic org.jruby.RubyHash.ITERATOR_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            ifnonnull 3
         1: .line 1387
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorExitSync:()V
         2: .line 1388
            return
         3: .line 1390
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyHash.ITERATOR_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 0 /* this */
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.decrementAndGet:(Ljava/lang/Object;)I
            pop
         4: .line 1391
            return
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyHash;

  private synchronized void iteratorEntrySync();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 1394
            aload 0 /* this */
            dup
            getfield org.jruby.RubyHash.iteratorCount:I
            iconst_1
            iadd
            putfield org.jruby.RubyHash.iteratorCount:I
         1: .line 1395
            return
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyHash;

  private synchronized void iteratorExitSync();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 1398
            aload 0 /* this */
            dup
            getfield org.jruby.RubyHash.iteratorCount:I
            iconst_1
            isub
            putfield org.jruby.RubyHash.iteratorCount:I
         1: .line 1399
            return
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyHash;

  private <T> void iteratorVisitAll(org.jruby.runtime.ThreadContext, org.jruby.RubyHash$VisitorWithState<T>, );
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyHash$VisitorWithState visitor
        start local 3 // java.lang.Object state
         0: .line 1403
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorEntry:()V
         1: .line 1404
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* visitor */
            aload 3 /* state */
            invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         2: .line 1405
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 4
         4: .line 1406
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorExit:()V
         5: .line 1407
            aload 4
            athrow
         6: .line 1406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorExit:()V
         7: .line 1408
            return
        end local 3 // java.lang.Object state
        end local 2 // org.jruby.RubyHash$VisitorWithState visitor
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyHash;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            0    8     2  visitor  Lorg/jruby/RubyHash$VisitorWithState<TT;>;
            0    8     3    state  TT;
      Exception table:
        from    to  target  type
           0     3       3  any
    Signature: <T:Ljava/lang/Object;>(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState<TT;>;TT;)V
    MethodParameters:
         Name  Flags
      context  
      visitor  
      state    

  public org.jruby.RubyHash eachCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1414
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.YieldArrayVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         1: .line 1416
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyHash;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.runtime.builtin.IRubyObject each(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1428
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.each_pairCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "each"
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.enumSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"each", "each_pair"})
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.runtime.builtin.IRubyObject each19(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1432
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.each:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.RubyHash each_pairCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1439
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.YieldKeyValueArrayVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         1: .line 1441
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyHash;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.RubyHash each_valueCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1455
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.YieldValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         1: .line 1457
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyHash;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.runtime.builtin.IRubyObject each_value(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1469
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.each_valueCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "each_value"
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.enumSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.RubyHash each_keyCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1476
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.YieldKeyVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         1: .line 1478
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyHash;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.runtime.builtin.IRubyObject each_key(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1490
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.each_keyCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "each_key"
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.enumSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.runtime.builtin.IRubyObject transform_keys(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1495
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 4
         1: .line 1496
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            astore 3 /* result */
        start local 3 // org.jruby.RubyHash result
         2: .line 1497
            aload 0 /* this */
            aload 1 /* context */
            new org.jruby.RubyHash$TransformKeysVisitor
            dup
            aload 2 /* block */
            invokespecial org.jruby.RubyHash$TransformKeysVisitor.<init>:(Lorg/jruby/runtime/Block;)V
            aload 3 /* result */
            invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         3: .line 1498
            aload 3 /* result */
            areturn
        end local 3 // org.jruby.RubyHash result
         4: .line 1501
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            ldc "transform_keys"
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.enumSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyHash;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2    block  Lorg/jruby/runtime/Block;
            2    4     3   result  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"transform_keys"})
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.runtime.builtin.IRubyObject transform_values(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1520
            new org.jruby.RubyHash
            dup
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyHash;)V
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.transform_values_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"transform_values"})
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.runtime.builtin.IRubyObject transform_keys_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1525
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 13
         1: .line 1526
            aload 0 /* this */
            ldc "Hash"
            invokevirtual org.jruby.RubyHash.testFrozen:(Ljava/lang/String;)V
         2: .line 1527
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyHash.flatten:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyArray
            astore 3 /* pairs */
        start local 3 // org.jruby.RubyArray pairs
         3: .line 1528
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.clear:()V
         4: .line 1529
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 11
         6: .line 1530
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
            aload 3 /* pairs */
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* key */
        start local 5 // org.jruby.runtime.builtin.IRubyObject key
         7: .line 1531
            aload 2 /* block */
            aload 1 /* context */
            aload 5 /* key */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* newKey */
        start local 6 // org.jruby.runtime.builtin.IRubyObject newKey
         8: .line 1532
            aload 3 /* pairs */
            iload 4 /* i */
            iconst_1
            iadd
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* value */
        start local 7 // org.jruby.runtime.builtin.IRubyObject value
         9: .line 1533
            aload 0 /* this */
            aload 1 /* context */
            aload 6 /* newKey */
            aload 7 /* value */
            invokevirtual org.jruby.RubyHash.op_aset:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 7 // org.jruby.runtime.builtin.IRubyObject value
        end local 6 // org.jruby.runtime.builtin.IRubyObject newKey
        end local 5 // org.jruby.runtime.builtin.IRubyObject key
        10: .line 1529
            iinc 4 /* i */ 2
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            aload 3 /* pairs */
            invokevirtual org.jruby.RubyArray.size:()I
            if_icmplt 6
        end local 4 // int i
        12: .line 1535
            aload 0 /* this */
            areturn
        end local 3 // org.jruby.RubyArray pairs
        13: .line 1538
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            ldc "transform_keys!"
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.enumSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/jruby/RubyHash;
            0   14     1  context  Lorg/jruby/runtime/ThreadContext;
            0   14     2    block  Lorg/jruby/runtime/Block;
            3   13     3    pairs  Lorg/jruby/RubyArray;
            5   12     4        i  I
            7   10     5      key  Lorg/jruby/runtime/builtin/IRubyObject;
            8   10     6   newKey  Lorg/jruby/runtime/builtin/IRubyObject;
            9   10     7    value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"transform_keys!"})
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.runtime.builtin.IRubyObject transform_values_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1543
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 5
         1: .line 1544
            aload 0 /* this */
            ldc "Hash"
            invokevirtual org.jruby.RubyHash.testFrozen:(Ljava/lang/String;)V
         2: .line 1545
            new org.jruby.RubyHash$TransformValuesVisitor
            dup
            invokespecial org.jruby.RubyHash$TransformValuesVisitor.<init>:()V
            astore 3 /* tvf */
        start local 3 // org.jruby.RubyHash$TransformValuesVisitor tvf
         3: .line 1546
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* tvf */
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         4: .line 1547
            aload 0 /* this */
            areturn
        end local 3 // org.jruby.RubyHash$TransformValuesVisitor tvf
         5: .line 1550
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            ldc "transform_values!"
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.enumSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyHash;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2    block  Lorg/jruby/runtime/Block;
            3    5     3      tvf  Lorg/jruby/RubyHash$TransformValuesVisitor;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"transform_values!"})
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.runtime.builtin.IRubyObject select_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1563
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 3
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.keep_ifCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Z
            ifeq 1
            aload 0 /* this */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
         3: .line 1565
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            ldc "select!"
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.enumSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyHash;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"select!"})
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.runtime.builtin.IRubyObject keep_if(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1570
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 3
         1: .line 1571
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.keep_ifCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Z
            pop
         2: .line 1572
            aload 0 /* this */
            areturn
         3: .line 1575
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            ldc "keep_if"
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.enumSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyHash;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public boolean keep_ifCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1579
            aload 0 /* this */
            ldc "Hash"
            invokevirtual org.jruby.RubyHash.testFrozen:(Ljava/lang/String;)V
         1: .line 1580
            new org.jruby.RubyHash$KeepIfVisitor
            dup
            invokespecial org.jruby.RubyHash$KeepIfVisitor.<init>:()V
            astore 3 /* kif */
        start local 3 // org.jruby.RubyHash$KeepIfVisitor kif
         2: .line 1581
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* kif */
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         3: .line 1582
            aload 3 /* kif */
            getfield org.jruby.RubyHash$KeepIfVisitor.modified:Z
            ireturn
        end local 3 // org.jruby.RubyHash$KeepIfVisitor kif
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyHash;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2    block  Lorg/jruby/runtime/Block;
            2    4     3      kif  Lorg/jruby/RubyHash$KeepIfVisitor;
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.runtime.builtin.IRubyObject sort(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1598
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.to_a:()Lorg/jruby/RubyArray;
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.sort_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject index(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject expected
         0: .line 1606
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.DEPRECATED_METHOD:Lorg/jruby/common/IRubyWarnings$ID;
            ldc "Hash#index is deprecated; use Hash#key"
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         1: .line 1607
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* expected */
            invokevirtual org.jruby.RubyHash.key:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject expected
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/jruby/RubyHash;
            0    2     1   context  Lorg/jruby/runtime/ThreadContext;
            0    2     2  expected  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"index"})
    MethodParameters:
          Name  Flags
      context   
      expected  

  public org.jruby.runtime.builtin.IRubyObject index19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject expected
         0: .line 1612
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* expected */
            invokevirtual org.jruby.RubyHash.index:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject expected
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/jruby/RubyHash;
            0    1     1   context  Lorg/jruby/runtime/ThreadContext;
            0    1     2  expected  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      context   
      expected  

  public org.jruby.runtime.builtin.IRubyObject key(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject expected
         0: .line 1617
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* expected */
            invokevirtual org.jruby.RubyHash.internalIndex:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* key */
        start local 3 // org.jruby.runtime.builtin.IRubyObject key
         1: .line 1618
            aload 3 /* key */
            ifnull 2
            aload 3 /* key */
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         2: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         3: areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject key
        end local 2 // org.jruby.runtime.builtin.IRubyObject expected
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jruby/RubyHash;
            0    4     1   context  Lorg/jruby/runtime/ThreadContext;
            0    4     2  expected  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3       key  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
          Name  Flags
      context   
      expected  

  private org.jruby.runtime.builtin.IRubyObject internalIndex(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject expected
         0: .line 1623
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.FoundKeyIfEqual:Lorg/jruby/RubyHash$VisitorWithState;
            aload 2 /* expected */
            invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         1: .line 1624
            aconst_null
            areturn
         2: .line 1625
      StackMap locals:
      StackMap stack: org.jruby.RubyHash$FoundKey
            astore 3 /* found */
        start local 3 // org.jruby.RubyHash$FoundKey found
         3: .line 1626
            aload 3 /* found */
            getfield org.jruby.RubyHash$FoundKey.key:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.RubyHash$FoundKey found
        end local 2 // org.jruby.runtime.builtin.IRubyObject expected
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jruby/RubyHash;
            0    4     1   context  Lorg/jruby/runtime/ThreadContext;
            0    4     2  expected  Lorg/jruby/runtime/builtin/IRubyObject;
            3    4     3     found  Lorg/jruby/RubyHash$FoundKey;
      Exception table:
        from    to  target  type
           0     1       2  Class org.jruby.RubyHash$FoundKey
    MethodParameters:
          Name  Flags
      context   final
      expected  final

  public org.jruby.RubyArray keys(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1646
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyHash.size:I
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 2 /* keys */
        start local 2 // org.jruby.RubyArray keys
         1: .line 1648
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.StoreKeyVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 2 /* keys */
            invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         2: .line 1650
            aload 2 /* keys */
         3: areturn
        end local 2 // org.jruby.RubyArray keys
         4: .line 1651
      StackMap locals:
      StackMap stack: java.lang.NegativeArraySizeException
            pop
         5: .line 1652
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.concurrentModification:()Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyHash;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            1    4     2     keys  Lorg/jruby/RubyArray;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.NegativeArraySizeException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"keys"})
    MethodParameters:
         Name  Flags
      context  final

  public final org.jruby.RubyArray keys();
    descriptor: ()Lorg/jruby/RubyArray;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 1657
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            invokevirtual org.jruby.RubyHash.keys:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;

  public org.jruby.RubyArray values(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1674
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyHash.size:I
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 2 /* values */
        start local 2 // org.jruby.RubyArray values
         1: .line 1676
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.StoreValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 2 /* values */
            invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         2: .line 1678
            aload 2 /* values */
         3: areturn
        end local 2 // org.jruby.RubyArray values
         4: .line 1679
      StackMap locals:
      StackMap stack: java.lang.NegativeArraySizeException
            pop
         5: .line 1680
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.concurrentModification:()Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyHash;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            1    4     2   values  Lorg/jruby/RubyArray;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.NegativeArraySizeException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"values"})
    MethodParameters:
         Name  Flags
      context  final

  public final org.jruby.RubyArray rb_values();
    descriptor: ()Lorg/jruby/RubyArray;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 1685
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            invokevirtual org.jruby.RubyHash.values:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;

  public org.jruby.runtime.builtin.IRubyObject shift(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1718
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.modify:()V
         1: .line 1720
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 2 /* entry */
        start local 2 // org.jruby.RubyHash$RubyHashEntry entry
         2: .line 1721
            aload 2 /* entry */
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            if_acmpeq 6
         3: .line 1722
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            astore 3 /* result */
        start local 3 // org.jruby.RubyArray result
         4: .line 1723
            aload 0 /* this */
            aload 2 /* entry */
            invokevirtual org.jruby.RubyHash.internalDeleteEntry:(Lorg/jruby/RubyHash$RubyHashEntry;)Lorg/jruby/RubyHash$RubyHashEntry;
            pop
         5: .line 1724
            aload 3 /* result */
            areturn
        end local 3 // org.jruby.RubyArray result
         6: .line 1727
      StackMap locals: org.jruby.RubyHash$RubyHashEntry
      StackMap stack:
            aload 0 /* this */
            ldc "default"
            invokevirtual org.jruby.RubyHash.isBuiltin:(Ljava/lang/String;)Z
            ifeq 7
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyHash.default_value_get:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         7: .line 1729
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokestatic org.jruby.RubyHash.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$HashSites;
            getfield org.jruby.runtime.JavaSites$HashSites.default_:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.RubyHash$RubyHashEntry entry
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyHash;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            2    8     2    entry  Lorg/jruby/RubyHash$RubyHashEntry;
            4    6     3   result  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"shift"})
    MethodParameters:
         Name  Flags
      context  

  public final boolean fastDelete(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 1733
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.jruby.RubyHash.internalDelete:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
            getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyHash;
            0    2     1   key  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      key   

  public org.jruby.runtime.builtin.IRubyObject delete(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
        start local 3 // org.jruby.runtime.Block block
         0: .line 1741
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.modify:()V
         1: .line 1743
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.jruby.RubyHash.internalDelete:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
            astore 4 /* entry */
        start local 4 // org.jruby.RubyHash$RubyHashEntry entry
         2: .line 1744
            aload 4 /* entry */
            getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
            if_acmpeq 3
            aload 4 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 1746
      StackMap locals: org.jruby.RubyHash$RubyHashEntry
      StackMap stack:
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 4
            aload 3 /* block */
            aload 1 /* context */
            aload 2 /* key */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 1747
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.RubyHash$RubyHashEntry entry
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyHash;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2      key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     3    block  Lorg/jruby/runtime/Block;
            2    5     4    entry  Lorg/jruby/RubyHash$RubyHashEntry;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      key      
      block    

  public org.jruby.runtime.builtin.IRubyObject delete(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 1751
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* key */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.RubyHash.delete:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      key  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      key      

  public org.jruby.runtime.builtin.IRubyObject select(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1759
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1760
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 2
            aload 1 /* context */
            aload 0 /* this */
            ldc "select"
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.enumSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 1762
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 3 /* runtime */
            invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            astore 4 /* result */
        start local 4 // org.jruby.RubyHash result
         3: .line 1764
            aload 0 /* this */
            aload 1 /* context */
            new org.jruby.RubyHash$SelectVisitor
            dup
            aload 4 /* result */
            invokespecial org.jruby.RubyHash$SelectVisitor.<init>:(Lorg/jruby/RubyHash;)V
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         4: .line 1766
            aload 4 /* result */
            areturn
        end local 4 // org.jruby.RubyHash result
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyHash;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2    block  Lorg/jruby/runtime/Block;
            1    5     3  runtime  Lorg/jruby/Ruby;
            3    5     4   result  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"select"})
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.RubyHash slice(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1775
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            astore 3 /* result */
        start local 3 // org.jruby.RubyHash result
         1: .line 1777
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 7
         3: .line 1778
      StackMap locals: org.jruby.RubyHash int
      StackMap stack:
            aload 2 /* args */
            iload 4 /* i */
            aaload
            astore 5 /* key */
        start local 5 // org.jruby.runtime.builtin.IRubyObject key
         4: .line 1779
            aload 0 /* this */
            aload 5 /* key */
            invokevirtual org.jruby.RubyHash.internalGet:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* value */
        start local 6 // org.jruby.runtime.builtin.IRubyObject value
         5: .line 1780
            aload 6 /* value */
            ifnull 6
            aload 3 /* result */
            aload 5 /* key */
            aload 6 /* value */
            invokevirtual org.jruby.RubyHash.op_aset:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 6 // org.jruby.runtime.builtin.IRubyObject value
        end local 5 // org.jruby.runtime.builtin.IRubyObject key
         6: .line 1777
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 3
        end local 4 // int i
         8: .line 1783
            aload 3 /* result */
            areturn
        end local 3 // org.jruby.RubyHash result
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyHash;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            0    9     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    9     3   result  Lorg/jruby/RubyHash;
            2    8     4        i  I
            4    6     5      key  Lorg/jruby/runtime/builtin/IRubyObject;
            5    6     6    value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"slice"}, rest = true)
    MethodParameters:
         Name  Flags
      context  final
      args     final

  public org.jruby.runtime.builtin.IRubyObject select19(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1802
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.select:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.RubyHash delete_ifInternal(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1809
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.modify:()V
         1: .line 1811
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.DeleteIfVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         2: .line 1813
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject delete_if(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1827
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.delete_ifInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "delete_if"
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.enumSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.RubyHash rejectInternal(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1848
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            astore 3 /* result */
        start local 3 // org.jruby.RubyHash result
         1: .line 1850
            aload 0 /* this */
            aload 1 /* context */
            new org.jruby.RubyHash$RejectVisitor
            dup
            aload 3 /* result */
            invokespecial org.jruby.RubyHash$RejectVisitor.<init>:(Lorg/jruby/RubyHash;)V
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         2: .line 1852
            aload 3 /* result */
            areturn
        end local 3 // org.jruby.RubyHash result
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
            1    3     3   result  Lorg/jruby/RubyHash;
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject reject(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1857
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.rejectInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "reject"
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.enumSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.runtime.builtin.IRubyObject reject_bangInternal(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1864
            aload 0 /* this */
            getfield org.jruby.RubyHash.size:I
            istore 3 /* n */
        start local 3 // int n
         1: .line 1865
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.delete_if:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 1866
            iload 3 /* n */
            aload 0 /* this */
            getfield org.jruby.RubyHash.size:I
            if_icmpne 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 1867
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // int n
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyHash;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2    block  Lorg/jruby/runtime/Block;
            1    4     3        n  I
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject reject_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1872
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.reject_bangInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "reject!"
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.enumSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"reject!"})
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.RubyHash rb_clear();
    descriptor: ()Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 1880
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.modify:()V
         1: .line 1882
            aload 0 /* this */
            getfield org.jruby.RubyHash.size:I
            ifle 4
         2: .line 1883
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.alloc:()V
         3: .line 1884
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyHash.size:I
         4: .line 1887
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"clear"})

  public org.jruby.RubyHash invert(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1895
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            astore 2 /* result */
        start local 2 // org.jruby.RubyHash result
         1: .line 1897
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.InvertVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 2 /* result */
            invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         2: .line 1899
            aload 2 /* result */
            areturn
        end local 2 // org.jruby.RubyHash result
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2   result  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"invert"})
    MethodParameters:
         Name  Flags
      context  final

  public org.jruby.RubyHash merge_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
        start local 3 // org.jruby.runtime.Block block
         0: .line 1914
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.modify:()V
         1: .line 1915
            aload 2 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToHash:()Lorg/jruby/RubyHash;
            astore 4 /* otherHash */
        start local 4 // org.jruby.RubyHash otherHash
         2: .line 1917
            aload 4 /* otherHash */
            invokevirtual org.jruby.RubyHash.empty_p:()Lorg/jruby/RubyBoolean;
            invokevirtual org.jruby.RubyBoolean.isTrue:()Z
            ifeq 3
            aload 0 /* this */
            areturn
         3: .line 1919
      StackMap locals: org.jruby.RubyHash
      StackMap stack:
            aload 4 /* otherHash */
            aload 1 /* context */
            new org.jruby.RubyHash$MergeVisitor
            dup
            aload 0 /* this */
            invokespecial org.jruby.RubyHash$MergeVisitor.<init>:(Lorg/jruby/RubyHash;)V
            aload 3 /* block */
            invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         4: .line 1921
            aload 0 /* this */
            areturn
        end local 4 // org.jruby.RubyHash otherHash
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/jruby/RubyHash;
            0    5     1    context  Lorg/jruby/runtime/ThreadContext;
            0    5     2      other  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     3      block  Lorg/jruby/runtime/Block;
            2    5     4  otherHash  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"merge!", "update"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      other    
      block    

  public org.jruby.RubyHash merge_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
        start local 3 // org.jruby.runtime.Block block
         0: .line 1943
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            aload 3 /* block */
            invokevirtual org.jruby.RubyHash.merge_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      other    
      block    

  public org.jruby.RubyHash merge(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
        start local 3 // org.jruby.runtime.Block block
         0: .line 1951
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyHash
            aload 1 /* context */
            aload 2 /* other */
            aload 3 /* block */
            invokevirtual org.jruby.RubyHash.merge_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      other    
      block    

  public org.jruby.RubyHash initialize_copy(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1956
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyHash.replace:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"initialize_copy"}, required = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.RubyHash initialize_copy19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1961
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyHash.initialize_copy:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.RubyHash replace(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1969
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.modify:()V
         1: .line 1971
            aload 2 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToHash:()Lorg/jruby/RubyHash;
            astore 3 /* otherHash */
        start local 3 // org.jruby.RubyHash otherHash
         2: .line 1973
            aload 0 /* this */
            aload 3 /* otherHash */
            if_acmpne 3
            aload 0 /* this */
            areturn
         3: .line 1975
      StackMap locals: org.jruby.RubyHash
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.rb_clear:()Lorg/jruby/RubyHash;
            pop
         4: .line 1977
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
            ifne 6
            aload 3 /* otherHash */
            invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
            ifeq 6
         5: .line 1978
            aload 0 /* this */
            iconst_1
            invokevirtual org.jruby.RubyHash.setComparedByIdentity:(Z)V
         6: .line 1981
      StackMap locals:
      StackMap stack:
            aload 3 /* otherHash */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.ReplaceVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         7: .line 1983
            aload 0 /* this */
            aload 3 /* otherHash */
            getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
            putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
         8: .line 1985
            aload 3 /* otherHash */
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
            iand
            ifeq 11
         9: .line 1986
            aload 0 /* this */
            dup
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
            ior
            putfield org.jruby.RubyHash.flags:I
        10: .line 1987
            goto 12
        11: .line 1988
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
            iconst_m1
            ixor
            iand
            putfield org.jruby.RubyHash.flags:I
        12: .line 1991
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // org.jruby.RubyHash otherHash
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/jruby/RubyHash;
            0   13     1    context  Lorg/jruby/runtime/ThreadContext;
            0   13     2      other  Lorg/jruby/runtime/builtin/IRubyObject;
            2   13     3  otherHash  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"replace"}, required = 1)
    MethodParameters:
         Name  Flags
      context  final
      other    

  public org.jruby.RubyArray values_at(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2006
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* args */
            arraylength
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 3 /* result */
        start local 3 // org.jruby.RubyArray result
         1: .line 2007
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 2008
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
            aload 3 /* result */
            iload 4 /* i */
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iload 4 /* i */
            aaload
            invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.storeInternal:(ILorg/jruby/runtime/builtin/IRubyObject;)V
         4: .line 2007
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 3
        end local 4 // int i
         6: .line 2010
            aload 3 /* result */
            areturn
        end local 3 // org.jruby.RubyArray result
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyHash;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     3   result  Lorg/jruby/RubyArray;
            2    6     4        i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"values_at"}, rest = true)
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.RubyArray fetch_values(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 2015
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* args */
            arraylength
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 4 /* result */
        start local 4 // org.jruby.RubyArray result
         1: .line 2016
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 2017
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
            aload 4 /* result */
            iload 5 /* i */
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iload 5 /* i */
            aaload
            aload 3 /* block */
            invokevirtual org.jruby.RubyHash.fetch:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.storeInternal:(ILorg/jruby/runtime/builtin/IRubyObject;)V
         4: .line 2016
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 3
        end local 5 // int i
         6: .line 2019
            aload 4 /* result */
            areturn
        end local 4 // org.jruby.RubyArray result
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyHash;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    7     3    block  Lorg/jruby/runtime/Block;
            1    7     4   result  Lorg/jruby/RubyArray;
            2    6     5        i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"fetch_values"}, rest = true)
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  public org.jruby.runtime.builtin.IRubyObject assoc(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 2025
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.FoundPairIfEqualKeyVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 2 /* obj */
            invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         1: .line 2026
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
         2: areturn
         3: .line 2027
      StackMap locals:
      StackMap stack: org.jruby.RubyHash$FoundPair
            astore 3 /* found */
        start local 3 // org.jruby.RubyHash$FoundPair found
         4: .line 2028
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* found */
            getfield org.jruby.RubyHash$FoundPair.key:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 3 /* found */
            getfield org.jruby.RubyHash$FoundPair.value:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 3 // org.jruby.RubyHash$FoundPair found
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyHash;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
            4    5     3    found  Lorg/jruby/RubyHash$FoundPair;
      Exception table:
        from    to  target  type
           0     2       3  Class org.jruby.RubyHash$FoundPair
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"assoc"})
    MethodParameters:
         Name  Flags
      context  final
      obj      final

  public org.jruby.runtime.builtin.IRubyObject rassoc(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 2035
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.FoundPairIfEqualValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 2 /* obj */
            invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         1: .line 2036
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
         2: areturn
         3: .line 2037
      StackMap locals:
      StackMap stack: org.jruby.RubyHash$FoundPair
            astore 3 /* found */
        start local 3 // org.jruby.RubyHash$FoundPair found
         4: .line 2038
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* found */
            getfield org.jruby.RubyHash$FoundPair.key:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 3 /* found */
            getfield org.jruby.RubyHash$FoundPair.value:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 3 // org.jruby.RubyHash$FoundPair found
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyHash;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
            4    5     3    found  Lorg/jruby/RubyHash$FoundPair;
      Exception table:
        from    to  target  type
           0     2       3  Class org.jruby.RubyHash$FoundPair
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"rassoc"})
    MethodParameters:
         Name  Flags
      context  final
      obj      final

  public org.jruby.runtime.builtin.IRubyObject flatten(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2062
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.to_a:()Lorg/jruby/RubyArray;
            astore 2 /* ary */
        start local 2 // org.jruby.RubyArray ary
         1: .line 2063
            aload 1 /* context */
            invokestatic org.jruby.RubyHash.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$HashSites;
            getfield org.jruby.runtime.JavaSites$HashSites.flatten_bang:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 2 /* ary */
            aload 2 /* ary */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 2064
            aload 2 /* ary */
            areturn
        end local 2 // org.jruby.RubyArray ary
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2      ary  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject flatten(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject level
         0: .line 2069
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.to_a:()Lorg/jruby/RubyArray;
            astore 3 /* ary */
        start local 3 // org.jruby.RubyArray ary
         1: .line 2070
            aload 1 /* context */
            invokestatic org.jruby.RubyHash.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$HashSites;
            getfield org.jruby.runtime.JavaSites$HashSites.flatten_bang:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 3 /* ary */
            aload 3 /* ary */
            aload 2 /* level */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 2071
            aload 3 /* ary */
            areturn
        end local 3 // org.jruby.RubyArray ary
        end local 2 // org.jruby.runtime.builtin.IRubyObject level
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    level  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3      ary  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      level    

  public org.jruby.runtime.builtin.IRubyObject compact(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2076
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* res */
        start local 2 // org.jruby.runtime.builtin.IRubyObject res
         1: .line 2077
            aload 2 /* res */
            checkcast org.jruby.RubyHash
            aload 1 /* context */
            invokevirtual org.jruby.RubyHash.compact_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 2078
            aload 2 /* res */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject res
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2      res  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"compact"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject compact_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2083
            iconst_0
            istore 2 /* changed */
        start local 2 // boolean changed
         1: .line 2084
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.modify:()V
         2: .line 2085
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorEntry:()V
         3: .line 2087
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 3 /* entry */
        start local 3 // org.jruby.RubyHash$RubyHashEntry entry
         4: goto 9
         5: .line 2088
      StackMap locals: int org.jruby.RubyHash$RubyHashEntry
      StackMap stack:
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 8
         6: .line 2089
            aload 0 /* this */
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyHash.internalDelete:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
            pop
         7: .line 2090
            iconst_1
            istore 2 /* changed */
         8: .line 2087
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 3 /* entry */
      StackMap locals:
      StackMap stack:
         9: aload 3 /* entry */
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            if_acmpne 5
        end local 3 // org.jruby.RubyHash$RubyHashEntry entry
        10: .line 2093
            goto 14
      StackMap locals: org.jruby.RubyHash org.jruby.runtime.ThreadContext int
      StackMap stack: java.lang.Throwable
        11: astore 4
        12: .line 2094
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorExit:()V
        13: .line 2095
            aload 4
            athrow
        14: .line 2094
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorExit:()V
        15: .line 2096
            iload 2 /* changed */
            ifeq 16
            aload 0 /* this */
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        17: areturn
        end local 2 // boolean changed
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lorg/jruby/RubyHash;
            0   18     1  context  Lorg/jruby/runtime/ThreadContext;
            1   18     2  changed  Z
            4   10     3    entry  Lorg/jruby/RubyHash$RubyHashEntry;
      Exception table:
        from    to  target  type
           3    11      11  any
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"compact!"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject compare_by_identity(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2101
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.modify:()V
         1: .line 2102
            aload 0 /* this */
            iconst_1
            invokevirtual org.jruby.RubyHash.setComparedByIdentity:(Z)V
         2: .line 2103
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.rehash:()Lorg/jruby/RubyHash;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"compare_by_identity"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject compare_by_identity_p(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2108
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"compare_by_identity?"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject dup(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2113
            aload 0 /* this */
            invokespecial org.jruby.RubyObject.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyHash
            astore 2 /* dup */
        start local 2 // org.jruby.RubyHash dup
         1: .line 2114
            aload 2 /* dup */
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
            invokevirtual org.jruby.RubyHash.setComparedByIdentity:(Z)V
         2: .line 2115
            aload 2 /* dup */
            areturn
        end local 2 // org.jruby.RubyHash dup
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2      dup  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject rbClone(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2120
            aload 0 /* this */
            invokespecial org.jruby.RubyObject.rbClone:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyHash
            astore 2 /* clone */
        start local 2 // org.jruby.RubyHash clone
         1: .line 2121
            aload 2 /* clone */
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
            invokevirtual org.jruby.RubyHash.setComparedByIdentity:(Z)V
         2: .line 2122
            aload 2 /* clone */
            areturn
        end local 2 // org.jruby.RubyHash clone
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2    clone  Lorg/jruby/RubyHash;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"clone"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject any_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 2127
            aload 2 /* args */
            arraylength
            ifle 1
            aload 2 /* args */
            iconst_0
            aaload
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: astore 4 /* pattern */
        start local 4 // org.jruby.runtime.builtin.IRubyObject pattern
         3: .line 2128
            aload 4 /* pattern */
            ifnull 4
            iconst_1
            goto 5
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 5 /* patternGiven */
        start local 5 // boolean patternGiven
         6: .line 2130
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.isEmpty:()Z
            ifeq 7
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         7: .line 2132
      StackMap locals: int
      StackMap stack:
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 8
            iload 5 /* patternGiven */
            ifne 8
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
         8: .line 2133
      StackMap locals:
      StackMap stack:
            iload 5 /* patternGiven */
            ifeq 9
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* pattern */
            invokevirtual org.jruby.RubyHash.any_p_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         9: .line 2135
      StackMap locals:
      StackMap stack:
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.getSignature:()Lorg/jruby/runtime/Signature;
            invokevirtual org.jruby.runtime.Signature.arityValue:()I
            iconst_1
            if_icmple 11
        10: .line 2136
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* block */
            invokevirtual org.jruby.RubyHash.any_p_i_fast:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        11: .line 2138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* block */
            invokevirtual org.jruby.RubyHash.any_p_i:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // boolean patternGiven
        end local 4 // org.jruby.runtime.builtin.IRubyObject pattern
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/jruby/RubyHash;
            0   12     1       context  Lorg/jruby/runtime/ThreadContext;
            0   12     2          args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0   12     3         block  Lorg/jruby/runtime/Block;
            3   12     4       pattern  Lorg/jruby/runtime/builtin/IRubyObject;
            6   12     5  patternGiven  Z
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"any?"}, optional = 1)
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  private org.jruby.runtime.builtin.IRubyObject any_p_i(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2142
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorEntry:()V
         1: .line 2144
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 3 /* entry */
        start local 3 // org.jruby.RubyHash$RubyHashEntry entry
         2: goto 9
         3: .line 2145
      StackMap locals: org.jruby.RubyHash$RubyHashEntry
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            astore 4 /* newAssoc */
        start local 4 // org.jruby.runtime.builtin.IRubyObject newAssoc
         4: .line 2146
            aload 2 /* block */
            aload 1 /* context */
            aload 4 /* newAssoc */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 8
         5: .line 2147
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            astore 6
         6: .line 2151
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorExit:()V
         7: .line 2147
            aload 6
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject newAssoc
         8: .line 2144
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 3 /* entry */
      StackMap locals:
      StackMap stack:
         9: aload 3 /* entry */
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            if_acmpne 3
        end local 3 // org.jruby.RubyHash$RubyHashEntry entry
        10: .line 2149
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            astore 6
        11: .line 2151
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorExit:()V
        12: .line 2149
            aload 6
            areturn
        13: .line 2150
      StackMap locals: org.jruby.RubyHash org.jruby.runtime.ThreadContext org.jruby.runtime.Block
      StackMap stack: java.lang.Throwable
            astore 5
        14: .line 2151
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorExit:()V
        15: .line 2152
            aload 5
            athrow
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lorg/jruby/RubyHash;
            0   16     1   context  Lorg/jruby/runtime/ThreadContext;
            0   16     2     block  Lorg/jruby/runtime/Block;
            2   10     3     entry  Lorg/jruby/RubyHash$RubyHashEntry;
            4    8     4  newAssoc  Lorg/jruby/runtime/builtin/IRubyObject;
      Exception table:
        from    to  target  type
           1     6      13  any
           8    11      13  any
    MethodParameters:
         Name  Flags
      context  
      block    

  private org.jruby.runtime.builtin.IRubyObject any_p_i_fast(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2156
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorEntry:()V
         1: .line 2158
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 3 /* entry */
        start local 3 // org.jruby.RubyHash$RubyHashEntry entry
         2: goto 8
         3: .line 2159
      StackMap locals: org.jruby.RubyHash$RubyHashEntry
      StackMap stack:
            aload 2 /* block */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            aconst_null
            invokevirtual org.jruby.runtime.Block.yieldArray:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 7
         4: .line 2160
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            astore 5
         5: .line 2164
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorExit:()V
         6: .line 2160
            aload 5
            areturn
         7: .line 2158
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 3 /* entry */
      StackMap locals:
      StackMap stack:
         8: aload 3 /* entry */
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            if_acmpne 3
        end local 3 // org.jruby.RubyHash$RubyHashEntry entry
         9: .line 2162
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            astore 5
        10: .line 2164
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorExit:()V
        11: .line 2162
            aload 5
            areturn
        12: .line 2163
      StackMap locals: org.jruby.RubyHash org.jruby.runtime.ThreadContext org.jruby.runtime.Block
      StackMap stack: java.lang.Throwable
            astore 4
        13: .line 2164
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorExit:()V
        14: .line 2165
            aload 4
            athrow
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/jruby/RubyHash;
            0   15     1  context  Lorg/jruby/runtime/ThreadContext;
            0   15     2    block  Lorg/jruby/runtime/Block;
            2    9     3    entry  Lorg/jruby/RubyHash$RubyHashEntry;
      Exception table:
        from    to  target  type
           1     5      12  any
           7    10      12  any
    MethodParameters:
         Name  Flags
      context  
      block    

  private org.jruby.runtime.builtin.IRubyObject any_p_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject pattern
         0: .line 2169
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorEntry:()V
         1: .line 2171
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 3 /* entry */
        start local 3 // org.jruby.RubyHash$RubyHashEntry entry
         2: goto 9
         3: .line 2172
      StackMap locals: org.jruby.RubyHash$RubyHashEntry
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            astore 4 /* newAssoc */
        start local 4 // org.jruby.runtime.builtin.IRubyObject newAssoc
         4: .line 2173
            aload 2 /* pattern */
            aload 1 /* context */
            ldc "==="
            aload 4 /* newAssoc */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 8
         5: .line 2174
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            astore 6
         6: .line 2178
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorExit:()V
         7: .line 2174
            aload 6
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject newAssoc
         8: .line 2171
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
            astore 3 /* entry */
      StackMap locals:
      StackMap stack:
         9: aload 3 /* entry */
            aload 0 /* this */
            getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
            if_acmpne 3
        end local 3 // org.jruby.RubyHash$RubyHashEntry entry
        10: .line 2176
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            astore 6
        11: .line 2178
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorExit:()V
        12: .line 2176
            aload 6
            areturn
        13: .line 2177
      StackMap locals: org.jruby.RubyHash org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
      StackMap stack: java.lang.Throwable
            astore 5
        14: .line 2178
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.iteratorExit:()V
        15: .line 2179
            aload 5
            athrow
        end local 2 // org.jruby.runtime.builtin.IRubyObject pattern
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lorg/jruby/RubyHash;
            0   16     1   context  Lorg/jruby/runtime/ThreadContext;
            0   16     2   pattern  Lorg/jruby/runtime/builtin/IRubyObject;
            2   10     3     entry  Lorg/jruby/RubyHash$RubyHashEntry;
            4    8     4  newAssoc  Lorg/jruby/runtime/builtin/IRubyObject;
      Exception table:
        from    to  target  type
           1     6      13  any
           8    11      13  any
    MethodParameters:
         Name  Flags
      context  
      pattern  

  public org.jruby.RubyHash dupFast(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2190
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 2191
            new org.jruby.RubyHash
            dup
            aload 2 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            aload 0 /* this */
            invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyHash;)V
            astore 3 /* dup */
        start local 3 // org.jruby.RubyHash dup
         2: .line 2193
            aload 3 /* dup */
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
            invokevirtual org.jruby.RubyHash.setComparedByIdentity:(Z)V
         3: .line 2195
            aload 3 /* dup */
            aload 0 /* this */
            getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
            putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
         4: .line 2197
            aload 0 /* this */
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
            iand
            ifeq 7
         5: .line 2198
            aload 3 /* dup */
            dup
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
            ior
            putfield org.jruby.RubyHash.flags:I
         6: .line 2199
            goto 8
         7: .line 2200
      StackMap locals: org.jruby.Ruby org.jruby.RubyHash
      StackMap stack:
            aload 3 /* dup */
            dup
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
            iconst_m1
            ixor
            iand
            putfield org.jruby.RubyHash.flags:I
         8: .line 2203
      StackMap locals:
      StackMap stack:
            aload 3 /* dup */
            areturn
        end local 3 // org.jruby.RubyHash dup
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyHash;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            1    9     2  runtime  Lorg/jruby/Ruby;
            2    9     3      dup  Lorg/jruby/RubyHash;
    MethodParameters:
         Name  Flags
      context  final

  public boolean hasDefaultProc();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 2207
            aload 0 /* this */
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyHash;

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

  public org.jruby.runtime.builtin.IRubyObject dig(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2216
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            invokevirtual org.jruby.RubyHash.dig:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"dig"}, required = 1, rest = true)
    MethodParameters:
         Name  Flags
      context  
      args     

  final org.jruby.runtime.builtin.IRubyObject dig(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // int idx
         0: .line 2220
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iload 3 /* idx */
            iinc 3 /* idx */ 1
            aaload
            invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* val */
        start local 4 // org.jruby.runtime.builtin.IRubyObject val
         1: .line 2221
            iload 3 /* idx */
            aload 2 /* args */
            arraylength
            if_icmpne 2
            aload 4 /* val */
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         2: aload 1 /* context */
            aload 4 /* val */
            aload 2 /* args */
            iload 3 /* idx */
            invokestatic org.jruby.RubyObject.dig:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         3: areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject val
        end local 3 // int idx
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyHash;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     3      idx  I
            1    4     4      val  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      args     
      idx      

  public org.jruby.runtime.builtin.IRubyObject to_proc(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2227
            aload 0 /* this */
         1: .line 2228
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
         2: .line 2229
            getstatic org.jruby.runtime.Signature.ONE_ARGUMENT:Lorg/jruby/runtime/Signature;
         3: .line 2230
            aload 0 /* this */
            invokedynamic call(Lorg/jruby/RubyHash;)Lorg/jruby/runtime/BlockCallback;
              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:
                  (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
                  org/jruby/RubyHash.lambda$0(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject; (7)
                  (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
         4: .line 2234
            aload 1 /* context */
         5: .line 2226
            invokestatic org.jruby.runtime.CallBlock19.newCallClosure:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Lorg/jruby/runtime/Signature;Lorg/jruby/runtime/BlockCallback;Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/Block;
            astore 2 /* block */
        start local 2 // org.jruby.runtime.Block block
         6: .line 2236
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* block */
            getstatic org.jruby.runtime.Block$Type.PROC:Lorg/jruby/runtime/Block$Type;
            invokestatic org.jruby.RubyProc.newProc:(Lorg/jruby/Ruby;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/Block$Type;)Lorg/jruby/RubyProc;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyHash;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            6    7     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public static void marshalTo(org.jruby.RubyHash, org.jruby.runtime.marshal.MarshalStream);
    descriptor: (Lorg/jruby/RubyHash;Lorg/jruby/runtime/marshal/MarshalStream;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.jruby.RubyHash hash
        start local 1 // org.jruby.runtime.marshal.MarshalStream output
         0: .line 2248
            aload 1 /* output */
            aload 0 /* hash */
            invokevirtual org.jruby.runtime.marshal.MarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         1: .line 2249
            aload 0 /* hash */
            getfield org.jruby.RubyHash.size:I
            istore 2 /* hashSize */
        start local 2 // int hashSize
         2: .line 2250
            aload 1 /* output */
            iload 2 /* hashSize */
            invokevirtual org.jruby.runtime.marshal.MarshalStream.writeInt:(I)V
         3: .line 2252
            aload 0 /* hash */
            aload 0 /* hash */
            invokevirtual org.jruby.RubyHash.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            getstatic org.jruby.RubyHash.MarshalDumpVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            iload 2 /* hashSize */
            i2l
            aload 1 /* output */
            invokevirtual org.jruby.RubyHash.visitLimited:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;JLjava/lang/Object;)V
         4: .line 2253
            goto 7
      StackMap locals: org.jruby.RubyHash org.jruby.runtime.marshal.MarshalStream int
      StackMap stack: org.jruby.RubyHash$VisitorIOException
         5: astore 3 /* e */
        start local 3 // org.jruby.RubyHash$VisitorIOException e
         6: .line 2254
            aload 3 /* e */
            invokevirtual org.jruby.RubyHash$VisitorIOException.getCause:()Ljava/lang/Throwable;
            checkcast java.io.IOException
            athrow
        end local 3 // org.jruby.RubyHash$VisitorIOException e
         7: .line 2257
      StackMap locals:
      StackMap stack:
            aload 0 /* hash */
            getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
            getstatic org.jruby.RubyHash.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 8
            aload 1 /* output */
            aload 0 /* hash */
            getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.marshal.MarshalStream.dumpObject:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         8: .line 2258
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int hashSize
        end local 1 // org.jruby.runtime.marshal.MarshalStream output
        end local 0 // org.jruby.RubyHash hash
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      hash  Lorg/jruby/RubyHash;
            0    9     1    output  Lorg/jruby/runtime/marshal/MarshalStream;
            2    9     2  hashSize  I
            6    7     3         e  Lorg/jruby/RubyHash$VisitorIOException;
      Exception table:
        from    to  target  type
           3     4       5  Class org.jruby.RubyHash$VisitorIOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      hash    final
      output  final

  public static org.jruby.RubyHash unmarshalFrom(org.jruby.runtime.marshal.UnmarshalStream, boolean);
    descriptor: (Lorg/jruby/runtime/marshal/UnmarshalStream;Z)Lorg/jruby/RubyHash;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream input
        start local 1 // boolean defaultValue
         0: .line 2273
            aload 0 /* input */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.getRuntime:()Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            astore 2 /* result */
        start local 2 // org.jruby.RubyHash result
         1: .line 2274
            aload 0 /* input */
            aload 2 /* result */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 2275
            aload 0 /* input */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalInt:()I
            istore 3 /* size */
        start local 3 // int size
         3: .line 2276
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 2277
      StackMap locals: org.jruby.RubyHash int int
      StackMap stack:
            aload 2 /* result */
            aload 0 /* input */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* input */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:()Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* input */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyHash.fastASetCheckString:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
         6: .line 2276
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 3 /* size */
            if_icmplt 5
        end local 4 // int i
         8: .line 2279
            iload 1 /* defaultValue */
            ifeq 9
            aload 2 /* result */
            aload 0 /* input */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyHash.default_value_set:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         9: .line 2280
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 3 // int size
        end local 2 // org.jruby.RubyHash result
        end local 1 // boolean defaultValue
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream input
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0         input  Lorg/jruby/runtime/marshal/UnmarshalStream;
            0   10     1  defaultValue  Z
            1   10     2        result  Lorg/jruby/RubyHash;
            3   10     3          size  I
            4    8     4             i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      input         
      defaultValue  

  public java.lang.Class getJavaClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 2285
            ldc Ljava/util/Map;
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;

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

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 2297
            aload 0 /* this */
            getfield org.jruby.RubyHash.size:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyHash;

  public boolean containsKey(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // java.lang.Object key
         0: .line 2302
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 1 /* key */
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyHash.internalGet:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyHash;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  public boolean containsValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // java.lang.Object value
         0: .line 2307
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 1 /* value */
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyHash.hasValue:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ireturn
        end local 1 // java.lang.Object value
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyHash;
            0    1     1  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public java.lang.Object get(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // java.lang.Object key
         0: .line 2312
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 1 /* key */
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyHash.internalGet:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* gotten */
        start local 2 // org.jruby.runtime.builtin.IRubyObject gotten
         1: .line 2313
            aload 2 /* gotten */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         2: aload 2 /* gotten */
            ldc Ljava/lang/Object;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
         3: areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject gotten
        end local 1 // java.lang.Object key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/jruby/RubyHash;
            0    4     1     key  Ljava/lang/Object;
            1    4     2  gotten  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      key   

  public java.lang.Object put(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
         0: .line 2318
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 2319
            aload 0 /* this */
            aload 3 /* runtime */
            aload 1 /* key */
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 3 /* runtime */
            aload 2 /* value */
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyHash.internalJavaPut:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* existing */
        start local 4 // org.jruby.runtime.builtin.IRubyObject existing
         2: .line 2320
            aload 4 /* existing */
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         3: aload 4 /* existing */
            ldc Ljava/lang/Object;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
         4: areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject existing
        end local 3 // org.jruby.Ruby runtime
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jruby/RubyHash;
            0    5     1       key  Ljava/lang/Object;
            0    5     2     value  Ljava/lang/Object;
            1    5     3   runtime  Lorg/jruby/Ruby;
            2    5     4  existing  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      key    
      value  

  public java.lang.Object remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // java.lang.Object key
         0: .line 2325
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 1 /* key */
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* rubyKey */
        start local 2 // org.jruby.runtime.builtin.IRubyObject rubyKey
         1: .line 2326
            aload 0 /* this */
            aload 2 /* rubyKey */
            invokevirtual org.jruby.RubyHash.internalDelete:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
            getfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject rubyKey
        end local 1 // java.lang.Object key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyHash;
            0    2     1      key  Ljava/lang/Object;
            1    2     2  rubyKey  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      key   

  public void putAll(java.util.Map);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // java.util.Map map
         0: .line 2331
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 2333
            aload 1 /* map */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         2: .line 2334
            goto 8
         3: .line 2335
      StackMap locals: org.jruby.Ruby java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
         4: .line 2336
            aload 0 /* this */
         5: .line 2337
            aload 2 /* runtime */
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
         6: .line 2338
            aload 2 /* runtime */
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
         7: .line 2336
            invokevirtual org.jruby.RubyHash.internalPut:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 4 // java.util.Map$Entry entry
         8: .line 2334
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 2341
            return
        end local 3 // java.util.Iterator iter
        end local 2 // org.jruby.Ruby runtime
        end local 1 // java.util.Map map
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/jruby/RubyHash;
            0   10     1      map  Ljava/util/Map;
            1   10     2  runtime  Lorg/jruby/Ruby;
            2   10     3     iter  Ljava/util/Iterator<Ljava/util/Map$Entry;>;
            4    8     4    entry  Ljava/util/Map$Entry;
    MethodParameters:
      Name  Flags
      map   

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 2345
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.rb_clear:()Lorg/jruby/RubyHash;
            pop
         1: .line 2346
            return
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyHash;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // java.lang.Object other
         0: .line 2350
            aload 1 /* other */
            instanceof org.jruby.RubyHash
            ifne 1
            iconst_0
            ireturn
         1: .line 2351
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 2
            iconst_1
            ireturn
         2: .line 2352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* other */
            checkcast org.jruby.RubyHash
            invokevirtual org.jruby.RubyHash.op_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/RubyHash;
            0    3     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  public java.util.Set keySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 2357
            new org.jruby.RubyHash$BaseSet
            dup
            aload 0 /* this */
            getstatic org.jruby.RubyHash.KEY_VIEW:Lorg/jruby/RubyHash$EntryView;
            invokespecial org.jruby.RubyHash$BaseSet.<init>:(Lorg/jruby/RubyHash;Lorg/jruby/RubyHash$EntryView;)V
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;

  public java.util.Set directKeySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 2361
            new org.jruby.RubyHash$BaseSet
            dup
            aload 0 /* this */
            getstatic org.jruby.RubyHash.DIRECT_KEY_VIEW:Lorg/jruby/RubyHash$EntryView;
            invokespecial org.jruby.RubyHash$BaseSet.<init>:(Lorg/jruby/RubyHash;Lorg/jruby/RubyHash$EntryView;)V
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;

  public java.util.Collection values();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 2366
            new org.jruby.RubyHash$BaseCollection
            dup
            aload 0 /* this */
            getstatic org.jruby.RubyHash.VALUE_VIEW:Lorg/jruby/RubyHash$EntryView;
            invokespecial org.jruby.RubyHash$BaseCollection.<init>:(Lorg/jruby/RubyHash;Lorg/jruby/RubyHash$EntryView;)V
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;

  public java.util.Collection directValues();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 2370
            new org.jruby.RubyHash$BaseCollection
            dup
            aload 0 /* this */
            getstatic org.jruby.RubyHash.DIRECT_VALUE_VIEW:Lorg/jruby/RubyHash$EntryView;
            invokespecial org.jruby.RubyHash$BaseCollection.<init>:(Lorg/jruby/RubyHash;Lorg/jruby/RubyHash$EntryView;)V
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;

  public java.util.Set entrySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 2375
            new org.jruby.RubyHash$BaseSet
            dup
            aload 0 /* this */
            getstatic org.jruby.RubyHash.ENTRY_VIEW:Lorg/jruby/RubyHash$EntryView;
            invokespecial org.jruby.RubyHash$BaseSet.<init>:(Lorg/jruby/RubyHash;Lorg/jruby/RubyHash$EntryView;)V
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;

  public java.util.Set directEntrySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 2379
            new org.jruby.RubyHash$BaseSet
            dup
            aload 0 /* this */
            getstatic org.jruby.RubyHash.DIRECT_ENTRY_VIEW:Lorg/jruby/RubyHash$EntryView;
            invokespecial org.jruby.RubyHash$BaseSet.<init>:(Lorg/jruby/RubyHash;Lorg/jruby/RubyHash$EntryView;)V
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;

  private final org.jruby.exceptions.RaiseException concurrentModification();
    descriptor: ()Lorg/jruby/exceptions/RaiseException;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 2383
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
         1: .line 2384
            ldc "Detected invalid hash contents due to unsynchronized modifications with concurrent users"
         2: .line 2383
            invokevirtual org.jruby.Ruby.newConcurrencyError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            areturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyHash;

  protected boolean isComparedByIdentity();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyHash this
         0: .line 2394
            aload 0 /* this */
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.COMPARE_BY_IDENTITY_F:I
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyHash;

  public void setComparedByIdentity(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // boolean comparedByIdentity
         0: .line 2404
            iload 1 /* comparedByIdentity */
            ifeq 3
         1: .line 2405
            aload 0 /* this */
            dup
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.COMPARE_BY_IDENTITY_F:I
            ior
            putfield org.jruby.RubyHash.flags:I
         2: .line 2406
            goto 4
         3: .line 2407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyHash.COMPARE_BY_IDENTITY_F:I
            iconst_m1
            ixor
            iand
            putfield org.jruby.RubyHash.flags:I
         4: .line 2409
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean comparedByIdentity
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lorg/jruby/RubyHash;
            0    5     1  comparedByIdentity  Z
    MethodParameters:
                    Name  Flags
      comparedByIdentity  

  public org.jruby.runtime.builtin.IRubyObject op_aset19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 2685
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.modify:()V
         1: .line 2687
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* key */
            aload 3 /* value */
            invokevirtual org.jruby.RubyHash.fastASetCheckString19:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 2688
            aload 3 /* value */
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3    value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      key      
      value    

  public org.jruby.runtime.builtin.IRubyObject aset(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 2696
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual org.jruby.RubyHash.op_aset:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyHash;
            0    1     1    key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      key    
      value  

  public org.jruby.runtime.builtin.IRubyObject aref(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 2704
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* key */
            invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyHash;
            0    1     1   key  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      key   

  private static org.jruby.runtime.JavaSites$HashSites sites(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$HashSites;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 2708
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.sites:Lorg/jruby/runtime/JavaSites;
            getfield org.jruby.runtime.JavaSites.Hash:Lorg/jruby/runtime/JavaSites$HashSites;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public final void fastASetCheckString19(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 2713
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* key */
            aload 3 /* value */
            invokevirtual org.jruby.RubyHash.fastASetCheckString:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
         1: .line 2714
            return
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyHash;
            0    2     1  runtime  Lorg/jruby/Ruby;
            0    2     2      key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3    value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      runtime  
      key      
      value    

  public final void fastASetSmallCheckString19(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 2718
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* key */
            aload 3 /* value */
            invokevirtual org.jruby.RubyHash.fastASetSmallCheckString:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
         1: .line 2719
            return
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyHash;
            0    2     1  runtime  Lorg/jruby/Ruby;
            0    2     2      key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3    value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      runtime  
      key      
      value    

  public org.jruby.runtime.builtin.IRubyObject op_aset(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 2723
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual org.jruby.RubyHash.op_aset:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyHash;
            0    1     1    key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  value  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      key    
      value  

  public org.jruby.runtime.builtin.IRubyObject each_pair(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2728
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.each_pairCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "each_pair"
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.enumSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyHash;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.RubyHash each_pairCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Z)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
        start local 3 // boolean oneNine
         0: .line 2733
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.YieldKeyValueArrayVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 2 /* block */
            invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         1: .line 2735
            aload 0 /* this */
            areturn
        end local 3 // boolean oneNine
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyHash;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2    block  Lorg/jruby/runtime/Block;
            0    2     3  oneNine  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  final
      block    final
      oneNine  final

  public org.jruby.RubyHash replace19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 2740
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyHash.replace:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyHash;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  final
      other    

  public final void visitAll(org.jruby.RubyHash$Visitor);
    descriptor: (Lorg/jruby/RubyHash$Visitor;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.RubyHash$Visitor visitor
         0: .line 2746
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* visitor */
            ldc -1
            aconst_null
            invokevirtual org.jruby.RubyHash.visitLimited:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;JLjava/lang/Object;)V
         1: .line 2747
            return
        end local 1 // org.jruby.RubyHash$Visitor visitor
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyHash;
            0    2     1  visitor  Lorg/jruby/RubyHash$Visitor;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      visitor  

  public org.jruby.runtime.builtin.IRubyObject default_value_get(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2754
            aload 2 /* args */
            arraylength
            tableswitch { // 0 - 1
                    0: 1
                    1: 2
              default: 3
          }
         1: .line 2755
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyHash.default_value_get:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 2756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            invokevirtual org.jruby.RubyHash.default_value_get:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 2758
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* args */
            arraylength
            iconst_1
            invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyHash;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      args     

  protected void internalPutSmall(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, boolean);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.builtin.IRubyObject key
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
        start local 3 // boolean checkForExisting
         0: .line 2764
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            iload 3 /* checkForExisting */
            invokevirtual org.jruby.RubyHash.internalPutNoResize:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         1: .line 2765
            return
        end local 3 // boolean checkForExisting
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.builtin.IRubyObject key
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/jruby/RubyHash;
            0    2     1               key  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     2             value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3  checkForExisting  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                  Name  Flags
      key               final
      value             final
      checkForExisting  final

  private org.jruby.runtime.builtin.IRubyObject lambda$0(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyHash this
        start local 1 // org.jruby.runtime.ThreadContext context1
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block procBlock
         0: .line 2231
            aload 1 /* context1 */
            aload 2 /* args */
            iconst_1
            iconst_1
            invokestatic org.jruby.runtime.Arity.checkArgumentCount:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;II)I
            pop
         1: .line 2232
            aload 0 /* this */
            aload 1 /* context1 */
            aload 2 /* args */
            iconst_0
            aaload
            invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block procBlock
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context1
        end local 0 // org.jruby.RubyHash this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/RubyHash;
            0    2     1   context1  Lorg/jruby/runtime/ThreadContext;
            0    2     2       args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3  procBlock  Lorg/jruby/runtime/Block;
}
SourceFile: "RubyHash.java"
NestMembers:
  org.jruby.RubyHash$1  org.jruby.RubyHash$10  org.jruby.RubyHash$11  org.jruby.RubyHash$12  org.jruby.RubyHash$13  org.jruby.RubyHash$14  org.jruby.RubyHash$15  org.jruby.RubyHash$16  org.jruby.RubyHash$17  org.jruby.RubyHash$18  org.jruby.RubyHash$19  org.jruby.RubyHash$2  org.jruby.RubyHash$20  org.jruby.RubyHash$21  org.jruby.RubyHash$22  org.jruby.RubyHash$23  org.jruby.RubyHash$24  org.jruby.RubyHash$25  org.jruby.RubyHash$26  org.jruby.RubyHash$27  org.jruby.RubyHash$28  org.jruby.RubyHash$29  org.jruby.RubyHash$3  org.jruby.RubyHash$30  org.jruby.RubyHash$4  org.jruby.RubyHash$5  org.jruby.RubyHash$6  org.jruby.RubyHash$7  org.jruby.RubyHash$8  org.jruby.RubyHash$9  org.jruby.RubyHash$BaseCollection  org.jruby.RubyHash$BaseIterator  org.jruby.RubyHash$BaseSet  org.jruby.RubyHash$ConvertingEntry  org.jruby.RubyHash$EntryMatchType  org.jruby.RubyHash$EntryView  org.jruby.RubyHash$Found  org.jruby.RubyHash$FoundKey  org.jruby.RubyHash$FoundPair  org.jruby.RubyHash$KeepIfVisitor  org.jruby.RubyHash$MergeVisitor  org.jruby.RubyHash$Mismatch  org.jruby.RubyHash$RejectVisitor  org.jruby.RubyHash$RubyHashEntry  org.jruby.RubyHash$SelectVisitor  org.jruby.RubyHash$TransformKeysVisitor  org.jruby.RubyHash$TransformValuesVisitor  org.jruby.RubyHash$Visitor  org.jruby.RubyHash$VisitorIOException  org.jruby.RubyHash$VisitorWithState
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 abstract SizeFn = org.jruby.RubyEnumerator$SizeFn of org.jruby.RubyEnumerator
  org.jruby.RubyHash$1
  org.jruby.RubyHash$10
  org.jruby.RubyHash$11
  org.jruby.RubyHash$12
  org.jruby.RubyHash$13
  org.jruby.RubyHash$14
  org.jruby.RubyHash$15
  org.jruby.RubyHash$16
  org.jruby.RubyHash$17
  org.jruby.RubyHash$18
  org.jruby.RubyHash$19
  org.jruby.RubyHash$2
  org.jruby.RubyHash$20
  org.jruby.RubyHash$21
  org.jruby.RubyHash$22
  org.jruby.RubyHash$23
  org.jruby.RubyHash$24
  org.jruby.RubyHash$25
  org.jruby.RubyHash$26
  org.jruby.RubyHash$27
  org.jruby.RubyHash$28
  org.jruby.RubyHash$29
  org.jruby.RubyHash$3
  org.jruby.RubyHash$30
  org.jruby.RubyHash$4
  org.jruby.RubyHash$5
  org.jruby.RubyHash$6
  org.jruby.RubyHash$7
  org.jruby.RubyHash$8
  org.jruby.RubyHash$9
  private BaseCollection = org.jruby.RubyHash$BaseCollection of org.jruby.RubyHash
  private BaseIterator = org.jruby.RubyHash$BaseIterator of org.jruby.RubyHash
  private BaseSet = org.jruby.RubyHash$BaseSet of org.jruby.RubyHash
  private ConvertingEntry = org.jruby.RubyHash$ConvertingEntry of org.jruby.RubyHash
  private abstract EntryMatchType = org.jruby.RubyHash$EntryMatchType of org.jruby.RubyHash
  private abstract EntryView = org.jruby.RubyHash$EntryView of org.jruby.RubyHash
  private Found = org.jruby.RubyHash$Found of org.jruby.RubyHash
  private FoundKey = org.jruby.RubyHash$FoundKey of org.jruby.RubyHash
  private FoundPair = org.jruby.RubyHash$FoundPair of org.jruby.RubyHash
  private KeepIfVisitor = org.jruby.RubyHash$KeepIfVisitor of org.jruby.RubyHash
  private MergeVisitor = org.jruby.RubyHash$MergeVisitor of org.jruby.RubyHash
  private Mismatch = org.jruby.RubyHash$Mismatch of org.jruby.RubyHash
  private final RejectVisitor = org.jruby.RubyHash$RejectVisitor of org.jruby.RubyHash
  public final RubyHashEntry = org.jruby.RubyHash$RubyHashEntry of org.jruby.RubyHash
  private SelectVisitor = org.jruby.RubyHash$SelectVisitor of org.jruby.RubyHash
  private TransformKeysVisitor = org.jruby.RubyHash$TransformKeysVisitor of org.jruby.RubyHash
  private TransformValuesVisitor = org.jruby.RubyHash$TransformValuesVisitor of org.jruby.RubyHash
  public abstract Visitor = org.jruby.RubyHash$Visitor of org.jruby.RubyHash
  private VisitorIOException = org.jruby.RubyHash$VisitorIOException of org.jruby.RubyHash
  public abstract VisitorWithState = org.jruby.RubyHash$VisitorWithState of org.jruby.RubyHash
  public final JavaClassKindOf = org.jruby.RubyModule$JavaClassKindOf of org.jruby.RubyModule
  public final ID = org.jruby.common.IRubyWarnings$ID of org.jruby.common.IRubyWarnings
  public final Type = org.jruby.runtime.Block$Type of org.jruby.runtime.Block
  public HashSites = org.jruby.runtime.JavaSites$HashSites of org.jruby.runtime.JavaSites
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyClass(name = {"Hash"}, include = {"Enumerable"})