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: 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: getstatic org.jruby.ObjectFlags.COMPARE_BY_IDENTITY_F:I
putstatic org.jruby.RubyHash.COMPARE_BY_IDENTITY_F:I
4: new org.jruby.RubyHash$1
dup
invokespecial org.jruby.RubyHash$1.<init>:()V
putstatic org.jruby.RubyHash.HASH_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
5: getstatic org.jruby.ObjectFlags.PROCDEFAULT_HASH_F:I
putstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
6: bipush 29
newarray 10
dup
iconst_0
7: 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: 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: 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: ldc 134217757
iastore
dup
bipush 25
ldc 268435459
iastore
dup
bipush 26
ldc 536870923
iastore
dup
bipush 27
ldc 1073741909
iastore
11: putstatic org.jruby.RubyHash.MRI_PRIMES:[I
12: getstatic org.jruby.RubyHash.MRI_PRIMES:[I
iconst_0
iaload
putstatic org.jruby.RubyHash.MRI_INITIAL_CAPACITY:I
13: new org.jruby.RubyHash$RubyHashEntry
dup
invokespecial org.jruby.RubyHash$RubyHashEntry.<init>:()V
putstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
14: new org.jruby.RubyHash$2
dup
invokespecial org.jruby.RubyHash$2.<init>:()V
putstatic org.jruby.RubyHash.MATCH_KEY:Lorg/jruby/RubyHash$EntryMatchType;
15: new org.jruby.RubyHash$3
dup
invokespecial org.jruby.RubyHash$3.<init>:()V
putstatic org.jruby.RubyHash.MATCH_ENTRY:Lorg/jruby/RubyHash$EntryMatchType;
16: new org.jruby.RubyHash$4
dup
invokespecial org.jruby.RubyHash$4.<init>:()V
putstatic org.jruby.RubyHash.InspectVisitor:Lorg/jruby/RubyHash$VisitorWithState;
17: new org.jruby.RubyHash$5
dup
invokespecial org.jruby.RubyHash$5.<init>:()V
putstatic org.jruby.RubyHash.StoreKeyValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
18: new org.jruby.RubyHash$6
dup
invokespecial org.jruby.RubyHash$6.<init>:()V
putstatic org.jruby.RubyHash.FindMismatchUsingEqualVisitor:Lorg/jruby/RubyHash$VisitorWithState;
19: new org.jruby.RubyHash$7
dup
invokespecial org.jruby.RubyHash$7.<init>:()V
putstatic org.jruby.RubyHash.FindMismatchUsingEqlVisitor:Lorg/jruby/RubyHash$VisitorWithState;
20: new org.jruby.RubyHash$8
dup
invokespecial org.jruby.RubyHash$8.<init>:()V
putstatic org.jruby.RubyHash.CalculateHashVisitor:Lorg/jruby/RubyHash$VisitorWithState;
21: new org.jruby.RubyHash$Found
dup
invokespecial org.jruby.RubyHash$Found.<init>:()V
putstatic org.jruby.RubyHash.FOUND:Lorg/jruby/RubyHash$Found;
22: new org.jruby.RubyHash$9
dup
invokespecial org.jruby.RubyHash$9.<init>:()V
putstatic org.jruby.RubyHash.FoundIfEqualVisitor:Lorg/jruby/RubyHash$VisitorWithState;
23: aconst_null
astore 0
start local 0 24: 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
25: goto 27
StackMap locals: java.util.concurrent.atomic.AtomicIntegerFieldUpdater
StackMap stack: java.lang.Exception
26: pop
27: StackMap locals:
StackMap stack:
aload 0
putstatic org.jruby.RubyHash.ITERATOR_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
end local 0 28: new org.jruby.RubyHash$10
dup
invokespecial org.jruby.RubyHash$10.<init>:()V
putstatic org.jruby.RubyHash.YieldArrayVisitor:Lorg/jruby/RubyHash$VisitorWithState;
29: new org.jruby.RubyHash$11
dup
invokespecial org.jruby.RubyHash$11.<init>:()V
putstatic org.jruby.RubyHash.YieldKeyValueArrayVisitor:Lorg/jruby/RubyHash$VisitorWithState;
30: new org.jruby.RubyHash$12
dup
invokespecial org.jruby.RubyHash$12.<init>:()V
putstatic org.jruby.RubyHash.YieldValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
31: new org.jruby.RubyHash$13
dup
invokespecial org.jruby.RubyHash$13.<init>:()V
putstatic org.jruby.RubyHash.YieldKeyVisitor:Lorg/jruby/RubyHash$VisitorWithState;
32: new org.jruby.RubyHash$14
dup
invokespecial org.jruby.RubyHash$14.<init>:()V
putstatic org.jruby.RubyHash.FoundKeyIfEqual:Lorg/jruby/RubyHash$VisitorWithState;
33: new org.jruby.RubyHash$15
dup
invokespecial org.jruby.RubyHash$15.<init>:()V
putstatic org.jruby.RubyHash.StoreKeyVisitor:Lorg/jruby/RubyHash$VisitorWithState;
34: new org.jruby.RubyHash$16
dup
invokespecial org.jruby.RubyHash$16.<init>:()V
putstatic org.jruby.RubyHash.StoreValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
35: new org.jruby.RubyHash$17
dup
invokespecial org.jruby.RubyHash$17.<init>:()V
putstatic org.jruby.RubyHash.SetValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
36: new org.jruby.RubyHash$Mismatch
dup
invokespecial org.jruby.RubyHash$Mismatch.<init>:()V
putstatic org.jruby.RubyHash.MISMATCH:Lorg/jruby/RubyHash$Mismatch;
37: new org.jruby.RubyHash$18
dup
invokespecial org.jruby.RubyHash$18.<init>:()V
putstatic org.jruby.RubyHash.DeleteIfVisitor:Lorg/jruby/RubyHash$VisitorWithState;
38: new org.jruby.RubyHash$19
dup
invokespecial org.jruby.RubyHash$19.<init>:()V
putstatic org.jruby.RubyHash.InvertVisitor:Lorg/jruby/RubyHash$VisitorWithState;
39: new org.jruby.RubyHash$20
dup
invokespecial org.jruby.RubyHash$20.<init>:()V
putstatic org.jruby.RubyHash.ReplaceVisitor:Lorg/jruby/RubyHash$VisitorWithState;
40: new org.jruby.RubyHash$21
dup
invokespecial org.jruby.RubyHash$21.<init>:()V
putstatic org.jruby.RubyHash.FoundPairIfEqualKeyVisitor:Lorg/jruby/RubyHash$VisitorWithState;
41: new org.jruby.RubyHash$22
dup
invokespecial org.jruby.RubyHash$22.<init>:()V
putstatic org.jruby.RubyHash.FoundPairIfEqualValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
42: new org.jruby.RubyHash$23
dup
invokespecial org.jruby.RubyHash$23.<init>:()V
putstatic org.jruby.RubyHash.MarshalDumpVisitor:Lorg/jruby/RubyHash$VisitorWithState;
43: 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: new org.jruby.RubyHash$25
dup
invokespecial org.jruby.RubyHash$25.<init>:()V
putstatic org.jruby.RubyHash.KEY_VIEW:Lorg/jruby/RubyHash$EntryView;
45: 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: new org.jruby.RubyHash$27
dup
invokespecial org.jruby.RubyHash$27.<init>:()V
putstatic org.jruby.RubyHash.VALUE_VIEW:Lorg/jruby/RubyHash$EntryView;
47: 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: new org.jruby.RubyHash$29
dup
invokespecial org.jruby.RubyHash$29.<init>:()V
putstatic org.jruby.RubyHash.ENTRY_VIEW:Lorg/jruby/RubyHash$EntryView;
49: 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 0: aload 0
ldc "Hash"
aload 0
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
start local 1 1: aload 1
getstatic org.jruby.runtime.ClassIndex.HASH:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.RubyClass.setClassIndex:(Lorg/jruby/runtime/ClassIndex;)V
2: aload 1
ldc Lorg/jruby/RubyHash;
invokevirtual org.jruby.RubyClass.setReifiedClass:(Ljava/lang/Class;)V
3: aload 1
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;
4: aload 1
aload 0
invokevirtual org.jruby.Ruby.getEnumerable:()Lorg/jruby/RubyModule;
invokevirtual org.jruby.RubyClass.includeModule:(Lorg/jruby/runtime/builtin/IRubyObject;)V
5: aload 1
ldc Lorg/jruby/RubyHash;
invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 runtime Lorg/jruby/Ruby;
1 7 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 0: getstatic org.jruby.runtime.ClassIndex.HASH:Lorg/jruby/runtime/ClassIndex;
areturn
end local 0 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 start local 1 start local 2 start local 3 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 1: aload 2
arraylength
iconst_1
if_icmpne 29
2: aload 2
iconst_0
aaload
aload 4
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
start local 5 3: aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 5
4: new org.jruby.RubyHash
dup
aload 4
aload 1
checkcast org.jruby.RubyClass
aload 5
checkcast org.jruby.RubyHash
invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyHash;)V
areturn
5: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
start local 6 6: aload 2
iconst_0
aaload
aload 4
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
7: aload 5
aload 6
if_acmpeq 29
8: aload 1
checkcast org.jruby.RubyClass
invokevirtual org.jruby.RubyClass.allocate:()Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyHash
astore 7
start local 7 9: aload 5
checkcast org.jruby.RubyArray
astore 8
start local 8 10: iconst_0
istore 9
start local 9 11: aload 8
invokevirtual org.jruby.RubyArray.getLength:()I
istore 10
start local 10 12: goto 27
13: 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
iload 9
invokevirtual org.jruby.RubyArray.entry:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 11
start local 11 14: aload 11
aload 4
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
start local 12 15: aload 6
astore 14
start local 14 16: aload 12
aload 6
if_acmpne 21
17: aload 4
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
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
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: aload 4
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: aload 4
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: goto 26
21: 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
checkcast org.jruby.RubyArray
invokevirtual org.jruby.RubyArray.getLength:()I
tableswitch { // 1 - 2
1: 24
2: 23
default: 22
}
22: StackMap locals:
StackMap stack:
aload 4
new java.lang.StringBuilder
dup
ldc "invalid number of elements ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 12
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: StackMap locals:
StackMap stack:
aload 12
checkcast org.jruby.RubyArray
iconst_1
invokevirtual org.jruby.RubyArray.entry:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 14
24: StackMap locals:
StackMap stack:
aload 12
checkcast org.jruby.RubyArray
iconst_0
invokevirtual org.jruby.RubyArray.entry:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 13
start local 13 25: aload 7
aload 4
aload 13
aload 14
invokevirtual org.jruby.RubyHash.fastASetCheckString:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
end local 14 end local 13 end local 12 end local 11 26: 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 1
StackMap locals:
StackMap stack:
27: iload 9
iload 10
if_icmplt 13
end local 10 end local 9 28: aload 7
areturn
end local 8 end local 7 end local 6 end local 5 29: 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
arraylength
iconst_1
iand
ifeq 31
30: aload 4
ldc "odd number of arguments for Hash"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
31: StackMap locals:
StackMap stack:
aload 1
checkcast org.jruby.RubyClass
invokevirtual org.jruby.RubyClass.allocate:()Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyHash
astore 5
start local 5 32: iconst_0
istore 6
start local 6 33: goto 35
StackMap locals: org.jruby.RubyHash int
StackMap stack:
34: aload 5
aload 4
aload 2
iload 6
aaload
aload 2
iload 6
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 2
StackMap locals:
StackMap stack:
35: iload 6
aload 2
arraylength
if_icmplt 34
end local 6 36: aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
aload 0
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 end local 1 end local 0 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 0: new org.jruby.RubyHash
dup
aload 0
invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;)V
areturn
end local 0 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 0: new org.jruby.RubyHash
dup
aload 0
iconst_1
invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;I)V
areturn
end local 0 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 start local 1 start local 2 0: aload 0
invokestatic org.jruby.RubyHash.newSmallHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
astore 3
start local 3 1: aload 3
aload 0
aload 1
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
aload 2
invokevirtual org.jruby.RubyHash.fastASetSmall:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: getstatic org.jruby.RubyHash.$assertionsDisabled:Z
ifne 1
aload 2
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new org.jruby.RubyHash
dup
aload 0
aload 1
aload 2
invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;Ljava/util/Map;Lorg/jruby/runtime/builtin/IRubyObject;)V
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
1: aload 0
iconst_0
putfield org.jruby.RubyHash.size:I
2: aload 0
iconst_0
putfield org.jruby.RubyHash.generation:I
3: aload 0
new org.jruby.RubyHash$RubyHashEntry
dup
invokespecial org.jruby.RubyHash$RubyHashEntry.<init>:()V
putfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
4: aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
aload 0
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: aload 0
getstatic org.jruby.RubyHash.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
6: aload 0
bipush 6
putfield org.jruby.RubyHash.threshold:I
7: aload 0
aload 3
aload 0
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: aload 0
aload 3
getfield org.jruby.RubyHash.size:I
putfield org.jruby.RubyHash.size:I
9: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
1: aload 0
iconst_0
putfield org.jruby.RubyHash.size:I
2: aload 0
iconst_0
putfield org.jruby.RubyHash.generation:I
3: aload 0
new org.jruby.RubyHash$RubyHashEntry
dup
invokespecial org.jruby.RubyHash$RubyHashEntry.<init>:()V
putfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
4: aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
aload 0
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: aload 0
getstatic org.jruby.RubyHash.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
6: aload 0
invokevirtual org.jruby.RubyHash.allocFirst:()V
7: return
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
getstatic org.jruby.RubyHash.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
iload 2
invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;I)V
1: return
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
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: return
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 1
invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
1: aload 0
iconst_0
putfield org.jruby.RubyHash.size:I
2: aload 0
iconst_0
putfield org.jruby.RubyHash.generation:I
3: aload 0
new org.jruby.RubyHash$RubyHashEntry
dup
invokespecial org.jruby.RubyHash$RubyHashEntry.<init>:()V
putfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
4: aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
aload 0
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: aload 0
aload 2
putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
6: aload 0
invokevirtual org.jruby.RubyHash.allocFirst:()V
7: return
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 3
iconst_1
invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;IZ)V
1: aload 0
aload 2
putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
2: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
1: aload 0
iconst_0
putfield org.jruby.RubyHash.size:I
2: aload 0
iconst_0
putfield org.jruby.RubyHash.generation:I
3: aload 0
new org.jruby.RubyHash$RubyHashEntry
dup
invokespecial org.jruby.RubyHash$RubyHashEntry.<init>:()V
putfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
4: aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
aload 0
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: aload 0
aload 3
putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
6: aload 0
iload 5
putfield org.jruby.RubyHash.threshold:I
7: aload 0
aload 4
putfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
8: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 1
invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
iload 3
invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Z)V
1: aload 0
iconst_0
putfield org.jruby.RubyHash.size:I
2: aload 0
iconst_0
putfield org.jruby.RubyHash.generation:I
3: aload 0
new org.jruby.RubyHash$RubyHashEntry
dup
invokespecial org.jruby.RubyHash$RubyHashEntry.<init>:()V
putfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
4: aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
aload 0
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: iload 2
ifgt 6
iconst_1
istore 2
6: StackMap locals: org.jruby.RubyHash org.jruby.Ruby int int
StackMap stack:
aload 0
iload 2
invokevirtual org.jruby.RubyHash.allocFirst:(I)V
7: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 1
invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
1: aload 0
iconst_0
putfield org.jruby.RubyHash.size:I
2: aload 0
iconst_0
putfield org.jruby.RubyHash.generation:I
3: aload 0
new org.jruby.RubyHash$RubyHashEntry
dup
invokespecial org.jruby.RubyHash$RubyHashEntry.<init>:()V
putfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
4: aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
aload 0
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: aload 0
aload 3
putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
6: aload 0
invokevirtual org.jruby.RubyHash.allocFirst:()V
7: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
start local 4 8: goto 11
9: StackMap locals: org.jruby.RubyHash org.jruby.Ruby java.util.Map org.jruby.runtime.builtin.IRubyObject java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 5
start local 5 10: aload 0
aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.jruby.runtime.builtin.IRubyObject
aload 5
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 11: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 4 12: return
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
bipush 6
putfield org.jruby.RubyHash.threshold:I
1: aload 0
getstatic org.jruby.RubyHash.MRI_INITIAL_CAPACITY:I
anewarray org.jruby.RubyHash$RubyHashEntry
putfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
2: return
end local 0 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 start local 1 0: iload 1
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
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: StackMap locals:
StackMap stack:
aload 0
bipush 6
putfield org.jruby.RubyHash.threshold:I
2: aload 0
iload 1
anewarray org.jruby.RubyHash$RubyHashEntry
putfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
3: return
end local 1 end local 0 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 0: aload 0
dup
getfield org.jruby.RubyHash.generation:I
iconst_1
iadd
putfield org.jruby.RubyHash.generation:I
1: aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
aload 0
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: aload 0
invokevirtual org.jruby.RubyHash.allocFirst:()V
3: return
end local 0 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 0: iload 0
iload 0
bipush 20
iushr
iload 0
bipush 12
iushr
ixor
ixor
istore 0
1: iload 0
iload 0
bipush 7
iushr
ixor
iload 0
iconst_4
iushr
ixor
ireturn
end local 0 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 start local 1 0: iload 0
iload 1
iconst_1
isub
iand
ireturn
end local 1 end local 0 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 0: iload 0
ldc 2147483647
iand
ireturn
end local 0 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 start local 1 0: iload 0
ldc 2147483647
iand
iload 1
irem
ireturn
end local 1 end local 0 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 start local 1 0: aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
astore 2
start local 2 1: iload 1
anewarray org.jruby.RubyHash$RubyHashEntry
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 14
4: StackMap locals: org.jruby.RubyHash$RubyHashEntry[] org.jruby.RubyHash$RubyHashEntry[] int
StackMap stack:
aload 2
iload 4
aaload
astore 5
start local 5 5: aload 2
iload 4
aconst_null
aastore
6: goto 12
7: StackMap locals: org.jruby.RubyHash$RubyHashEntry
StackMap stack:
aload 5
getfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
astore 6
start local 6 8: aload 5
getfield org.jruby.RubyHash$RubyHashEntry.hash:I
iload 1
invokestatic org.jruby.RubyHash.bucketIndex:(II)I
istore 7
start local 7 9: aload 5
aload 3
iload 7
aaload
putfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
10: aload 3
iload 7
aload 5
aastore
11: aload 6
astore 5
end local 7 end local 6 12: StackMap locals:
StackMap stack:
aload 5
ifnonnull 7
end local 5 13: iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
aload 2
arraylength
if_icmplt 4
end local 4 15: aload 0
aload 3
putfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
16: return
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual org.jruby.RubyHash.overThreshold:()Z
ifeq 6
1: aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
astore 1
start local 1 2: aload 1
arraylength
ldc 1073741824
if_icmpne 5
3: aload 0
ldc 2147483647
putfield org.jruby.RubyHash.threshold:I
4: return
5: StackMap locals: org.jruby.RubyHash$RubyHashEntry[]
StackMap stack:
aload 0
aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
invokevirtual org.jruby.RubyHash.resizeAndAdjustThreshold:([Lorg/jruby/RubyHash$RubyHashEntry;)V
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 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 0: aload 0
getfield org.jruby.RubyHash.size:I
aload 0
getfield org.jruby.RubyHash.threshold:I
if_icmple 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 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 start local 1 0: aload 1
arraylength
iconst_1
ishl
istore 2
start local 2 1: aload 0
iload 2
invokevirtual org.jruby.RubyHash.resize:(I)V
2: aload 0
iload 2
iload 2
iconst_2
ishr
isub
putfield org.jruby.RubyHash.threshold:I
3: return
end local 2 end local 1 end local 0 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 0: aload 0
getfield org.jruby.RubyHash.size:I
aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
arraylength
idiv
iconst_5
if_icmple 11
1: aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
arraylength
iconst_1
iadd
istore 1
start local 1 2: iconst_0
istore 2
start local 2 3: bipush 8
istore 3
start local 3 4: goto 9
5: StackMap locals: int int int
StackMap stack:
iload 3
iload 1
if_icmple 8
6: aload 0
getstatic org.jruby.RubyHash.MRI_PRIMES:[I
iload 2
iaload
invokevirtual org.jruby.RubyHash.resize:(I)V
7: return
8: StackMap locals:
StackMap stack:
iinc 2 1
iload 3
iconst_1
ishl
istore 3
StackMap locals:
StackMap stack:
9: iload 2
getstatic org.jruby.RubyHash.MRI_PRIMES:[I
arraylength
if_icmplt 5
end local 3 end local 2 10: return
end local 1 11: StackMap locals:
StackMap stack:
return
end local 0 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 start local 1 0: aload 0
invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
ifeq 1
aload 1
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
goto 2
StackMap locals:
StackMap stack:
1: aload 1
invokevirtual java.lang.Object.hashCode:()I
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: iload 2
invokestatic org.jruby.RubyHash.MRIHashValue:(I)I
ireturn
end local 2 end local 1 end local 0 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 start local 1 0: iload 0
iload 1
invokestatic org.jruby.RubyHash.MRIBucketIndex:(II)I
ireturn
end local 1 end local 0 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 0: aload 0
invokevirtual org.jruby.RubyHash.MRICheckResize:()V
1: return
end local 0 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 0: aload 0
getfield org.jruby.RubyHash.iteratorCount:I
ifle 2
1: aload 0
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: StackMap locals:
StackMap stack:
return
end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyHash.checkResize:()V
1: aload 0
aload 1
aload 2
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 2
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: return
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jruby.RubyHash.checkResize:()V
1: aload 0
aload 1
aload 2
iload 3
invokevirtual org.jruby.RubyHash.internalPutNoResize:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
pop
2: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
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: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyHash.internalPut:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyHash.checkResize:()V
1: aload 0
aload 1
aload 2
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 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual org.jruby.RubyHash.hashValue:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 4
start local 4 1: iload 4
aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
arraylength
invokestatic org.jruby.RubyHash.bucketIndex:(II)I
istore 5
start local 5 2: iload 3
ifeq 11
3: aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
iload 5
aaload
astore 6
start local 6 4: goto 10
5: StackMap locals: int int org.jruby.RubyHash$RubyHashEntry
StackMap stack:
aload 0
aload 6
iload 4
aload 1
invokevirtual org.jruby.RubyHash.internalKeyExist:(Lorg/jruby/RubyHash$RubyHashEntry;ILorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 9
6: aload 6
getfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
start local 7 7: aload 6
aload 2
putfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
8: aload 7
areturn
end local 7 9: StackMap locals:
StackMap stack:
aload 6
getfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
astore 6
StackMap locals:
StackMap stack:
10: aload 6
ifnonnull 5
end local 6 11: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.RubyHash.checkIterating:()V
12: aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
iload 5
new org.jruby.RubyHash$RubyHashEntry
dup
iload 4
aload 1
aload 2
aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
iload 5
aaload
aload 0
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: aload 0
dup
getfield org.jruby.RubyHash.size:I
iconst_1
iadd
putfield org.jruby.RubyHash.size:I
14: aconst_null
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
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 end local 0 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 start local 1 0: aload 0
getfield org.jruby.RubyHash.size:I
ifne 1
getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
areturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.RubyHash.hashValue:(Lorg/jruby/runtime/builtin/IRubyObject;)I
istore 2
start local 2 2: aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
iload 2
aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
arraylength
invokestatic org.jruby.RubyHash.bucketIndex:(II)I
aaload
astore 3
start local 3 3: goto 7
4: StackMap locals: int org.jruby.RubyHash$RubyHashEntry
StackMap stack:
aload 0
aload 3
iload 2
aload 1
invokevirtual org.jruby.RubyHash.internalKeyExist:(Lorg/jruby/RubyHash$RubyHashEntry;ILorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 6
5: aload 3
areturn
6: StackMap locals:
StackMap stack:
aload 3
getfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
astore 3
StackMap locals:
StackMap stack:
7: aload 3
ifnonnull 4
end local 3 8: getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.RubyHash.internalGetEntry:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
areturn
end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 1
getfield org.jruby.RubyHash$RubyHashEntry.hash:I
iload 2
if_icmpne 3
1: aload 1
getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
aload 3
if_acmpeq 2
aload 0
invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
ifne 3
aload 3
aload 1
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: StackMap locals:
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getfield org.jruby.RubyHash.size:I
ifne 1
getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
areturn
1: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual org.jruby.RubyHash.hashValue:(Lorg/jruby/runtime/builtin/IRubyObject;)I
getstatic org.jruby.RubyHash.MATCH_KEY:Lorg/jruby/RubyHash$EntryMatchType;
aload 1
invokevirtual org.jruby.RubyHash.internalDelete:(ILorg/jruby/RubyHash$EntryMatchType;Ljava/lang/Object;)Lorg/jruby/RubyHash$RubyHashEntry;
areturn
end local 1 end local 0 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 start local 1 0: aload 0
aload 0
aload 1
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
invokevirtual org.jruby.RubyHash.internalDelete:(ILorg/jruby/RubyHash$EntryMatchType;Ljava/lang/Object;)Lorg/jruby/RubyHash$RubyHashEntry;
areturn
end local 1 end local 0 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 start local 1 start local 2 start local 3 0: iload 1
aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
arraylength
invokestatic org.jruby.RubyHash.bucketIndex:(II)I
istore 4
start local 4 1: aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
iload 4
aaload
astore 5
start local 5 2: aload 5
ifnull 15
3: aconst_null
astore 6
start local 6 4: goto 14
5: StackMap locals: int org.jruby.RubyHash$RubyHashEntry org.jruby.RubyHash$RubyHashEntry
StackMap stack:
aload 5
getfield org.jruby.RubyHash$RubyHashEntry.hash:I
iload 1
if_icmpne 13
aload 2
aload 5
aload 3
invokevirtual org.jruby.RubyHash$EntryMatchType.matches:(Lorg/jruby/RubyHash$RubyHashEntry;Ljava/lang/Object;)Z
ifeq 13
6: aload 6
ifnull 9
7: aload 6
aload 5
getfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
putfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
iload 4
aload 5
getfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
aastore
10: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.jruby.RubyHash$RubyHashEntry.detach:()V
11: aload 0
dup
getfield org.jruby.RubyHash.size:I
iconst_1
isub
putfield org.jruby.RubyHash.size:I
12: aload 5
areturn
13: StackMap locals:
StackMap stack:
aload 5
astore 6
aload 5
getfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
astore 5
StackMap locals:
StackMap stack:
14: aload 5
ifnonnull 5
end local 6 15: StackMap locals:
StackMap stack:
getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
arraylength
anewarray org.jruby.RubyHash$RubyHashEntry
astore 2
start local 2 1: aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 3
start local 3 2: goto 6
3: StackMap locals: org.jruby.RubyHash$RubyHashEntry[] org.jruby.RubyHash$RubyHashEntry
StackMap stack:
aload 3
getfield org.jruby.RubyHash$RubyHashEntry.hash:I
aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
arraylength
invokestatic org.jruby.RubyHash.bucketIndex:(II)I
istore 4
start local 4 4: aload 2
iload 4
new org.jruby.RubyHash$RubyHashEntry
dup
aload 3
getfield org.jruby.RubyHash$RubyHashEntry.hash:I
aload 3
getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
aload 3
getfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
aload 2
iload 4
aaload
aload 1
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 5: aload 3
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 3
StackMap locals:
StackMap stack:
6: aload 3
aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
if_acmpne 3
end local 3 7: aload 2
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
ldc -1
aload 3
invokevirtual org.jruby.RubyHash.visitLimited:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;JLjava/lang/Object;)V
1: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 5 0: aload 0
getfield org.jruby.RubyHash.generation:I
istore 6
start local 6 1: lload 3
lstore 7
start local 7 2: iconst_0
istore 9
start local 9 3: aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 10
start local 10 4: goto 13
5: 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
aload 0
getfield org.jruby.RubyHash.generation:I
if_icmpeq 9
6: aload 0
getfield org.jruby.RubyHash.generation:I
istore 6
7: aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 10
8: aload 10
aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
if_acmpne 9
goto 14
9: StackMap locals:
StackMap stack:
aload 10
ifnull 12
aload 10
invokevirtual org.jruby.RubyHash$RubyHashEntry.isLive:()Z
ifeq 12
10: aload 2
aload 1
aload 0
aload 10
getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
aload 10
getfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
iload 9
iinc 9 1
aload 5
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: lload 7
lconst_1
lsub
lstore 7
12: StackMap locals:
StackMap stack:
aload 10
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 10
StackMap locals:
StackMap stack:
13: aload 10
aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
if_acmpeq 14
lload 7
lconst_0
lcmp
ifne 5
end local 10 14: StackMap locals:
StackMap stack:
lload 7
lconst_0
lcmp
ifle 15
aload 0
invokevirtual org.jruby.RubyHash.concurrentModification:()Lorg/jruby/exceptions/RaiseException;
athrow
15: StackMap locals:
StackMap stack:
return
end local 9 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
getfield org.jruby.RubyHash.generation:I
istore 1
start local 1 1: aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
astore 2
start local 2 2: aload 2
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 3
start local 3 3: goto 11
4: StackMap locals: int org.jruby.RubyHash$RubyHashEntry org.jruby.RubyHash$RubyHashEntry
StackMap stack:
iload 1
aload 0
getfield org.jruby.RubyHash.generation:I
if_icmpeq 8
5: aload 0
getfield org.jruby.RubyHash.generation:I
istore 1
6: aload 2
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 3
7: aload 3
aload 2
if_acmpne 8
goto 12
8: StackMap locals:
StackMap stack:
aload 3
ifnull 10
aload 3
invokevirtual org.jruby.RubyHash$RubyHashEntry.isLive:()Z
ifeq 10
9: aload 3
getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
instanceof org.jruby.RubySymbol
ifne 10
iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 3
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 3
StackMap locals:
StackMap stack:
11: aload 3
aload 2
if_acmpne 4
end local 3 12: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyHash.modify:()V
1: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 6
2: aload 1
arraylength
ifle 3
aload 0
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: StackMap locals:
StackMap stack:
aload 0
aload 0
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
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: aload 0
dup
getfield org.jruby.RubyHash.flags:I
getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
ior
putfield org.jruby.RubyHash.flags:I
5: goto 9
6: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
aload 1
iconst_0
iconst_1
invokestatic org.jruby.runtime.Arity.checkArgumentCount:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)I
pop
7: aload 1
arraylength
iconst_1
if_icmpne 8
aload 0
aload 1
iconst_0
aaload
putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
8: StackMap locals:
StackMap stack:
aload 1
arraylength
ifne 9
aload 0
getstatic org.jruby.RubyHash.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
9: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getfield org.jruby.RubyHash.flags:I
getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
iand
ifeq 2
1: aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 0
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
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
goto 4
StackMap locals:
StackMap stack:
3: aload 0
getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
4: areturn
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
getfield org.jruby.RubyHash.flags:I
getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
iand
ifeq 2
1: aload 1
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
aload 0
getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
aload 2
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: StackMap locals:
StackMap stack:
aload 0
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
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
goto 4
StackMap locals:
StackMap stack:
3: aload 0
getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
4: areturn
end local 2 end local 1 end local 0 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.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 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyHash.modify:()V
1: aload 0
aload 2
putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
2: aload 0
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: aload 0
getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/RubyHash;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
0 4 2 defaultValue Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"default="}, required = 1)
MethodParameters:
Name Flags
context
defaultValue final
public org.jruby.runtime.builtin.IRubyObject default_proc(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 start local 1 0: aload 0
getfield org.jruby.RubyHash.flags:I
getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
iand
ifeq 1
aload 0
getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
2: areturn
end local 1 end local 0 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()
MethodParameters:
Name Flags
context
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 start local 1 0: aload 1
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
start local 2 1: aload 1
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
iconst_2
if_icmpeq 4
iload 2
ifge 2
iload 2
bipush -3
if_icmpge 4
2: StackMap locals: int
StackMap stack:
iload 2
ifge 3
iload 2
ineg
iconst_1
isub
istore 2
3: StackMap locals:
StackMap stack:
aload 0
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
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: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 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.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=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyHash.modify:()V
1: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 5
2: aload 0
aload 2
putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
3: aload 0
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: aload 2
areturn
5: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 6: aload 2
aload 3
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 4
start local 4 7: aload 4
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 8
aload 4
instanceof org.jruby.RubyProc
ifne 9
8: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 3
new java.lang.StringBuilder
dup
ldc "wrong default_proc type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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
9: StackMap locals:
StackMap stack:
aload 4
astore 2
10: aload 0
aload 2
invokevirtual org.jruby.RubyHash.checkDefaultProcArity:(Lorg/jruby/runtime/builtin/IRubyObject;)V
11: aload 0
aload 2
putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
12: aload 0
dup
getfield org.jruby.RubyHash.flags:I
getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
ior
putfield org.jruby.RubyHash.flags:I
13: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/jruby/RubyHash;
0 14 1 context Lorg/jruby/runtime/ThreadContext;
0 14 2 proc Lorg/jruby/runtime/builtin/IRubyObject;
6 14 3 runtime Lorg/jruby/Ruby;
7 14 4 b Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"default_proc="})
MethodParameters:
Name Flags
context
proc
public void modify();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "Hash"
invokevirtual org.jruby.RubyHash.testFrozen:(Ljava/lang/String;)V
1: return
end local 0 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 start local 1 0: aload 1
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
start local 2 1: aload 2
aload 0
invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
pop
2: aload 2
bipush 123
invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
pop
3: aload 0
aload 1
getstatic org.jruby.RubyHash.InspectVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 2
invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
4: aload 2
bipush 125
invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
pop
5: aload 2
areturn
end local 2 end local 1 end local 0 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 0: aload 0
aload 0
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 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 start local 1 0: aload 0
getfield org.jruby.RubyHash.size:I
ifne 1
aload 1
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: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.Ruby.isInspecting:(Ljava/lang/Object;)Z
ifeq 2
aload 1
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: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.Ruby.registerInspecting:(Ljava/lang/Object;)V
3: aload 0
aload 1
invokevirtual org.jruby.RubyHash.inspectHash:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
4: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.Ruby.unregisterInspecting:(Ljava/lang/Object;)V
5: aload 3
areturn
6: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
7: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.Ruby.unregisterInspecting:(Ljava/lang/Object;)V
8: aload 2
athrow
end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.RubyHash.inspect:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 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(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyFixnum;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyHash.size:I
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
areturn
end local 1 end local 0 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 = {"size", "length"})
MethodParameters:
Name Flags
context
private org.jruby.RubyEnumerator$SizeFn enumSizeFn();
descriptor: ()Lorg/jruby/RubyEnumerator$SizeFn;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic size(Lorg/jruby/RubyHash;)Lorg/jruby/RubyEnumerator$SizeFn;
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/builtin/IRubyObject;
org/jruby/RubyHash.lambda$0(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject; (7)
(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyHash;
public org.jruby.RubyBoolean empty_p(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyBoolean;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyHash.size:I
ifne 1
aload 1
getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
StackMap locals:
StackMap stack: org.jruby.RubyBoolean
2: areturn
end local 1 end local 0 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 = {"empty?"})
MethodParameters:
Name Flags
context
public org.jruby.RubyArray to_a(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 2
aload 0
getfield org.jruby.RubyHash.size:I
invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
astore 3
start local 3 2: aload 0
aload 1
getstatic org.jruby.RubyHash.StoreKeyValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 3
invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
3: aload 3
aload 0
invokevirtual org.jruby.RubyHash.isTaint:()Z
invokevirtual org.jruby.RubyArray.setTaint:(Z)V
4: aload 3
5: areturn
end local 3 6: StackMap locals: org.jruby.RubyHash org.jruby.runtime.ThreadContext org.jruby.Ruby
StackMap stack: java.lang.NegativeArraySizeException
pop
7: aload 0
invokevirtual org.jruby.RubyHash.concurrentModification:()Lorg/jruby/exceptions/RaiseException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/RubyHash;
0 8 1 context Lorg/jruby/runtime/ThreadContext;
1 8 2 runtime Lorg/jruby/Ruby;
2 6 3 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"})
MethodParameters:
Name Flags
context
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 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.RubyHash.inspect:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.RubyHash.to_s:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 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(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyHash;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyHash.iteratorCount:I
ifle 2
1: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "rehash during iteration"
invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.RubyHash.modify:()V
3: aload 0
getfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
astore 2
start local 2 4: aload 2
arraylength
anewarray org.jruby.RubyHash$RubyHashEntry
astore 3
start local 3 5: iconst_0
istore 4
start local 4 6: goto 25
7: StackMap locals: org.jruby.RubyHash$RubyHashEntry[] org.jruby.RubyHash$RubyHashEntry[] int
StackMap stack:
aload 2
iload 4
aaload
astore 5
start local 5 8: aload 2
iload 4
aconst_null
aastore
9: goto 23
10: StackMap locals: org.jruby.RubyHash$RubyHashEntry
StackMap stack:
aload 5
getfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
astore 6
start local 6 11: aload 5
aload 0
aload 5
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: aload 5
getfield org.jruby.RubyHash$RubyHashEntry.hash:I
aload 3
arraylength
invokestatic org.jruby.RubyHash.bucketIndex:(II)I
istore 7
start local 7 13: aload 3
iload 7
aaload
ifnull 20
aload 0
aload 3
iload 7
aaload
aload 5
getfield org.jruby.RubyHash$RubyHashEntry.hash:I
aload 5
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: aload 5
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 8
start local 8 15: aload 5
getfield org.jruby.RubyHash$RubyHashEntry.prevAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 9
start local 9 16: aload 9
aload 8
putfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
17: aload 9
aload 9
putfield org.jruby.RubyHash$RubyHashEntry.prevAdded:Lorg/jruby/RubyHash$RubyHashEntry;
18: aload 0
dup
getfield org.jruby.RubyHash.size:I
iconst_1
isub
putfield org.jruby.RubyHash.size:I
end local 9 end local 8 19: goto 22
20: StackMap locals: org.jruby.RubyHash$RubyHashEntry int
StackMap stack:
aload 5
aload 3
iload 7
aaload
putfield org.jruby.RubyHash$RubyHashEntry.next:Lorg/jruby/RubyHash$RubyHashEntry;
21: aload 3
iload 7
aload 5
aastore
22: StackMap locals:
StackMap stack:
aload 6
astore 5
end local 7 end local 6 23: StackMap locals:
StackMap stack:
aload 5
ifnonnull 10
end local 5 24: iinc 4 1
StackMap locals:
StackMap stack:
25: iload 4
aload 2
arraylength
if_icmplt 7
end local 4 26: aload 0
aload 3
putfield org.jruby.RubyHash.table:[Lorg/jruby/RubyHash$RubyHashEntry;
27: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/jruby/RubyHash;
0 28 1 context Lorg/jruby/runtime/ThreadContext;
4 28 2 oldTable [Lorg/jruby/RubyHash$RubyHashEntry;
5 28 3 newTable [Lorg/jruby/RubyHash$RubyHashEntry;
6 26 4 j I
8 24 5 entry Lorg/jruby/RubyHash$RubyHashEntry;
11 23 6 next Lorg/jruby/RubyHash$RubyHashEntry;
13 23 7 i I
15 19 8 tmpNext Lorg/jruby/RubyHash$RubyHashEntry;
16 19 9 tmpPrev Lorg/jruby/RubyHash$RubyHashEntry;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"rehash"})
MethodParameters:
Name Flags
context
public org.jruby.RubyHash to_hash(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyHash;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
areturn
end local 1 end local 0 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_hash"})
MethodParameters:
Name Flags
context
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 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 0
invokevirtual org.jruby.RubyHash.getType:()Lorg/jruby/RubyClass;
aload 2
invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
if_acmpne 2
aload 0
goto 3
StackMap locals: org.jruby.Ruby
StackMap stack:
2: aload 2
invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
aload 1
aload 0
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 end local 1 end local 0 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 0: aload 0
areturn
end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyHash.internalPut:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
1: return
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyHash.internalPutSmall:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
1: return
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 2
instanceof org.jruby.RubyString
ifeq 3
aload 0
invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
ifne 3
1: aload 0
aload 1
aload 2
checkcast org.jruby.RubyString
aload 3
invokevirtual org.jruby.RubyHash.op_asetForString:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Lorg/jruby/runtime/builtin/IRubyObject;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual org.jruby.RubyHash.internalPut:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 2
instanceof org.jruby.RubyString
ifeq 3
1: aload 0
aload 1
aload 2
checkcast org.jruby.RubyString
aload 3
invokevirtual org.jruby.RubyHash.op_asetSmallForString:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Lorg/jruby/runtime/builtin/IRubyObject;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual org.jruby.RubyHash.internalPutSmall:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: iload 4
ifeq 3
1: aload 0
aload 1
aload 2
aload 3
invokevirtual org.jruby.RubyHash.fastASetCheckString:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual org.jruby.RubyHash.fastASet:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
4: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: iload 4
ifeq 3
1: aload 0
aload 1
aload 2
aload 3
invokevirtual org.jruby.RubyHash.fastASetSmallCheckString:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual org.jruby.RubyHash.fastASetSmall:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
4: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jruby.RubyHash.modify:()V
1: aload 0
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
aload 3
invokevirtual org.jruby.RubyHash.fastASetCheckString:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokevirtual org.jruby.RubyHash.internalGetEntry:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
astore 4
start local 4 1: aload 4
getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
if_acmpeq 4
2: aload 4
aload 3
putfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
3: goto 7
4: StackMap locals: org.jruby.RubyHash$RubyHashEntry
StackMap stack:
aload 0
invokevirtual org.jruby.RubyHash.checkIterating:()V
5: aload 2
invokevirtual org.jruby.RubyString.isFrozen:()Z
ifne 6
aload 2
invokevirtual org.jruby.RubyString.dupFrozen:()Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyString
astore 2
6: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
iconst_0
invokevirtual org.jruby.RubyHash.internalPut:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)V
7: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokevirtual org.jruby.RubyHash.internalGetEntry:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
astore 4
start local 4 1: aload 4
getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
if_acmpeq 4
2: aload 4
aload 3
putfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
3: goto 7
4: StackMap locals: org.jruby.RubyHash$RubyHashEntry
StackMap stack:
aload 0
invokevirtual org.jruby.RubyHash.checkIterating:()V
5: aload 2
invokevirtual org.jruby.RubyString.isFrozen:()Z
ifne 6
aload 2
invokevirtual org.jruby.RubyString.dupFrozen:()Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyString
astore 2
6: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
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: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.RubyHash.internalGet:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 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=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
instanceof org.jruby.RubyHash
ifne 4
1: aload 1
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
aload 3
aload 3
invokevirtual org.jruby.runtime.callsite.RespondToCallSite.respondsTo:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifne 3
2: aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
areturn
3: StackMap locals:
StackMap stack:
aload 1
aload 3
aload 0
invokestatic org.jruby.runtime.Helpers.rbEqual:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
areturn
4: StackMap locals:
StackMap stack:
aload 3
checkcast org.jruby.RubyHash
astore 4
start local 4 5: aload 0
getfield org.jruby.RubyHash.size:I
aload 4
getfield org.jruby.RubyHash.size:I
if_icmpeq 7
6: aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
areturn
7: StackMap locals: org.jruby.RubyHash
StackMap stack:
aload 0
aload 1
aload 2
aload 4
invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
8: goto 11
StackMap locals:
StackMap stack: org.jruby.RubyHash$Mismatch
9: pop
10: aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
areturn
11: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/jruby/RubyHash;
0 12 1 context Lorg/jruby/runtime/ThreadContext;
0 12 2 visitor Lorg/jruby/RubyHash$VisitorWithState<Lorg/jruby/RubyHash;>;
0 12 3 other Lorg/jruby/runtime/builtin/IRubyObject;
5 12 4 otherHash Lorg/jruby/RubyHash;
Exception table:
from to target type
7 8 9 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 start local 1 start local 2 0: aload 1
getstatic org.jruby.RubyHash.FindMismatchUsingEqualVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 0
aload 2
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 1
getstatic org.jruby.RubyHash.FindMismatchUsingEqlVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 0
aload 2
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyHash.op_eql:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 2
invokevirtual org.jruby.RubyHash.internalGet:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 3
start local 3 1: ifnonnull 2
aload 1
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
aload 0
aload 0
aload 2
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
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
3: areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 1
invokevirtual org.jruby.RubyHash.directEntrySet:()Ljava/util/Set;
aload 0
invokevirtual org.jruby.RubyHash.directEntrySet:()Ljava/util/Set;
invokeinterface java.util.Set.containsAll:(Ljava/util/Collection;)Z
ireturn
end local 1 end local 0 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 start local 1 start local 2 0: aload 2
checkcast org.jruby.RubyBasicObject
invokevirtual org.jruby.RubyBasicObject.convertToHash:()Lorg/jruby/RubyHash;
astore 3
start local 3 1: aload 0
invokevirtual org.jruby.RubyHash.size:()I
aload 3
invokevirtual org.jruby.RubyHash.size:()I
if_icmplt 2
aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
areturn
2: StackMap locals: org.jruby.RubyHash
StackMap stack:
aload 1
aload 0
aload 3
invokevirtual org.jruby.RubyHash.hash_le:(Lorg/jruby/RubyHash;)Z
invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToHash:()Lorg/jruby/RubyHash;
astore 3
start local 3 1: aload 0
invokevirtual org.jruby.RubyHash.size:()I
aload 3
invokevirtual org.jruby.RubyHash.size:()I
if_icmple 2
aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
areturn
2: StackMap locals: org.jruby.RubyHash
StackMap stack:
aload 1
aload 0
aload 3
invokevirtual org.jruby.RubyHash.hash_le:(Lorg/jruby/RubyHash;)Z
invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToHash:()Lorg/jruby/RubyHash;
astore 3
start local 3 1: aload 3
aload 1
aload 0
invokevirtual org.jruby.RubyHash.op_lt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToHash:()Lorg/jruby/RubyHash;
astore 3
start local 3 1: aload 3
aload 1
aload 0
invokevirtual org.jruby.RubyHash.op_le:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
aload 0
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 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 start local 1 0: aload 0
invokevirtual org.jruby.RubyHash.size:()I
istore 2
start local 2 1: iconst_1
newarray 11
dup
iconst_0
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
iload 2
i2l
invokestatic org.jruby.runtime.Helpers.hashStart:(Lorg/jruby/Ruby;J)J
lastore
astore 3
start local 3 2: iload 2
ifle 4
3: aload 0
aload 1
getstatic org.jruby.RubyHash.CalculateHashVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 3
invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
4: StackMap locals: int long[]
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
iconst_0
laload
invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
areturn
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
aload 0
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 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 start local 1 start local 2 start local 3 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
arraylength
iconst_1
iconst_2
invokestatic org.jruby.runtime.Arity.checkArgumentCount:(Lorg/jruby/Ruby;III)I
pop
1: aload 2
arraylength
tableswitch { // 1 - 2
1: 2
2: 3
default: 4
}
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iconst_0
aaload
aload 3
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: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iconst_0
aaload
aload 2
iconst_1
aaload
aload 3
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: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 1: aload 0
aload 2
invokevirtual org.jruby.RubyHash.internalGet:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 2: aload 5
ifnonnull 5
3: aload 3
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 4
aload 3
aload 1
aload 2
invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
4: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 4
new java.lang.StringBuilder
dup
ldc "key not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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
aload 2
invokevirtual org.jruby.Ruby.newKeyError:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals:
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 5
start local 5 1: aload 4
invokevirtual org.jruby.runtime.Block.isGiven:()Z
istore 6
start local 6 2: iload 6
ifeq 4
3: aload 5
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: StackMap locals: org.jruby.Ruby int
StackMap stack:
aload 0
aload 2
invokevirtual org.jruby.RubyHash.internalGet:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
start local 7 5: aload 7
ifnonnull 8
6: iload 6
ifeq 7
aload 4
aload 1
aload 2
invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
7: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 3
areturn
8: StackMap locals:
StackMap stack:
aload 7
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
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 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
StackMap locals:
StackMap stack: org.jruby.RubyBoolean
2: areturn
end local 2 end local 1 end local 0 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;
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=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 0
aload 1
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 2
invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
goto 3
StackMap locals: org.jruby.Ruby
StackMap stack:
2: aload 2
invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
StackMap locals:
StackMap stack: org.jruby.RubyBoolean
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/RubyHash;
0 4 1 key Lorg/jruby/runtime/builtin/IRubyObject;
1 4 2 runtime Lorg/jruby/Ruby;
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 start local 1 start local 2 0: aload 0
aload 1
getstatic org.jruby.RubyHash.FoundIfEqualVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 2
invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack: org.jruby.RubyHash$Found
pop
3: iconst_1
ireturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 1
aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyHash.hasValue:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
end local 2 end local 1 end local 0 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 0: getstatic org.jruby.RubyHash.ITERATOR_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
ifnonnull 3
1: aload 0
invokevirtual org.jruby.RubyHash.iteratorEntrySync:()V
2: return
3: StackMap locals:
StackMap stack:
getstatic org.jruby.RubyHash.ITERATOR_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.incrementAndGet:(Ljava/lang/Object;)I
pop
4: return
end local 0 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 0: getstatic org.jruby.RubyHash.ITERATOR_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
ifnonnull 3
1: aload 0
invokevirtual org.jruby.RubyHash.iteratorExitSync:()V
2: return
3: StackMap locals:
StackMap stack:
getstatic org.jruby.RubyHash.ITERATOR_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.decrementAndGet:(Ljava/lang/Object;)I
pop
4: return
end local 0 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 0: aload 0
dup
getfield org.jruby.RubyHash.iteratorCount:I
iconst_1
iadd
putfield org.jruby.RubyHash.iteratorCount:I
1: return
end local 0 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 0: aload 0
dup
getfield org.jruby.RubyHash.iteratorCount:I
iconst_1
isub
putfield org.jruby.RubyHash.iteratorCount:I
1: return
end local 0 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 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jruby.RubyHash.iteratorEntry:()V
1: aload 0
aload 1
aload 2
aload 3
invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 4
4: aload 0
invokevirtual org.jruby.RubyHash.iteratorExit:()V
5: aload 4
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.RubyHash.iteratorExit:()V
7: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
getstatic org.jruby.RubyHash.YieldArrayVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 2
invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
1: aload 0
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 1
aload 0
aload 1
aload 2
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
aload 0
ldc "each"
aload 0
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyHash.each:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
getstatic org.jruby.RubyHash.YieldKeyValueArrayVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 2
invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
1: aload 0
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
getstatic org.jruby.RubyHash.YieldValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 2
invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
1: aload 0
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 1
aload 0
aload 1
aload 2
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
aload 0
ldc "each_value"
aload 0
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
getstatic org.jruby.RubyHash.YieldKeyVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 2
invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
1: aload 0
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 1
aload 0
aload 1
aload 2
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
aload 0
ldc "each_key"
aload 0
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 4
1: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
astore 3
start local 3 2: aload 0
aload 1
new org.jruby.RubyHash$TransformKeysVisitor
dup
aload 2
invokespecial org.jruby.RubyHash$TransformKeysVisitor.<init>:(Lorg/jruby/runtime/Block;)V
aload 3
invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
3: aload 3
areturn
end local 3 4: StackMap locals:
StackMap stack:
aload 1
aload 0
ldc "transform_keys"
aload 0
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 end local 1 end local 0 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 start local 1 start local 2 0: new org.jruby.RubyHash
dup
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
aload 0
invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyHash;)V
aload 1
aload 2
invokevirtual org.jruby.RubyHash.transform_values_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 13
1: aload 0
ldc "Hash"
invokevirtual org.jruby.RubyHash.testFrozen:(Ljava/lang/String;)V
2: aload 0
aload 1
invokevirtual org.jruby.RubyHash.flatten:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyArray
astore 3
start local 3 3: aload 0
invokevirtual org.jruby.RubyHash.clear:()V
4: iconst_0
istore 4
start local 4 5: goto 11
6: StackMap locals: org.jruby.RubyArray int
StackMap stack:
aload 3
iload 4
i2l
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 7: aload 2
aload 1
aload 5
invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
start local 6 8: aload 3
iload 4
iconst_1
iadd
i2l
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
start local 7 9: aload 0
aload 1
aload 6
aload 7
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 end local 6 end local 5 10: iinc 4 2
StackMap locals:
StackMap stack:
11: iload 4
aload 3
invokevirtual org.jruby.RubyArray.size:()I
if_icmplt 6
end local 4 12: aload 0
areturn
end local 3 13: StackMap locals:
StackMap stack:
aload 1
aload 0
ldc "transform_keys!"
aload 0
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 5
1: aload 0
ldc "Hash"
invokevirtual org.jruby.RubyHash.testFrozen:(Ljava/lang/String;)V
2: new org.jruby.RubyHash$TransformValuesVisitor
dup
invokespecial org.jruby.RubyHash$TransformValuesVisitor.<init>:()V
astore 3
start local 3 3: aload 0
aload 1
aload 3
aload 2
invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
4: aload 0
areturn
end local 3 5: StackMap locals:
StackMap stack:
aload 1
aload 0
ldc "transform_values!"
aload 0
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 3
aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyHash.keep_ifCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Z
ifeq 1
aload 0
goto 2
StackMap locals:
StackMap stack:
1: aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
2: areturn
3: StackMap locals:
StackMap stack:
aload 1
aload 0
ldc "select!"
aload 0
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 3
1: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyHash.keep_ifCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Z
pop
2: aload 0
areturn
3: StackMap locals:
StackMap stack:
aload 1
aload 0
ldc "keep_if"
aload 0
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
ldc "Hash"
invokevirtual org.jruby.RubyHash.testFrozen:(Ljava/lang/String;)V
1: new org.jruby.RubyHash$KeepIfVisitor
dup
invokespecial org.jruby.RubyHash$KeepIfVisitor.<init>:()V
astore 3
start local 3 2: aload 0
aload 1
aload 3
aload 2
invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
3: aload 3
getfield org.jruby.RubyHash$KeepIfVisitor.modified:Z
ireturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.jruby.RubyHash.to_a:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
aload 1
aload 2
invokevirtual org.jruby.RubyArray.sort_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 1
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: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyHash.key:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyHash.index:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyHash.internalIndex:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 1: aload 3
ifnull 2
aload 3
goto 3
StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
2: aload 1
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 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
getstatic org.jruby.RubyHash.FoundKeyIfEqual:Lorg/jruby/RubyHash$VisitorWithState;
aload 2
invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
1: aconst_null
areturn
2: StackMap locals:
StackMap stack: org.jruby.RubyHash$FoundKey
astore 3
start local 3 3: aload 3
getfield org.jruby.RubyHash$FoundKey.key:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyHash.size:I
invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
astore 2
start local 2 1: aload 0
aload 1
getstatic org.jruby.RubyHash.StoreKeyVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 2
invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
2: aload 2
3: areturn
end local 2 4: StackMap locals:
StackMap stack: java.lang.NegativeArraySizeException
pop
5: aload 0
invokevirtual org.jruby.RubyHash.concurrentModification:()Lorg/jruby/exceptions/RaiseException;
athrow
end local 1 end local 0 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 0: aload 0
aload 0
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 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 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyHash.size:I
invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
astore 2
start local 2 1: aload 0
aload 1
getstatic org.jruby.RubyHash.StoreValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 2
invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
2: aload 2
3: areturn
end local 2 4: StackMap locals:
StackMap stack: java.lang.NegativeArraySizeException
pop
5: aload 0
invokevirtual org.jruby.RubyHash.concurrentModification:()Lorg/jruby/exceptions/RaiseException;
athrow
end local 1 end local 0 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(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.RubyHash.values:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
areturn
end local 1 end local 0 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.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 start local 1 0: aload 0
invokevirtual org.jruby.RubyHash.modify:()V
1: aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 2
start local 2 2: aload 2
aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
if_acmpeq 6
3: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
aload 2
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
start local 3 4: aload 0
aload 2
invokevirtual org.jruby.RubyHash.internalDeleteEntry:(Lorg/jruby/RubyHash$RubyHashEntry;)Lorg/jruby/RubyHash$RubyHashEntry;
pop
5: aload 3
areturn
end local 3 6: StackMap locals: org.jruby.RubyHash$RubyHashEntry
StackMap stack:
aload 0
ldc "default"
invokevirtual org.jruby.RubyHash.isBuiltin:(Ljava/lang/String;)Z
ifeq 7
aload 0
aload 1
aload 1
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: StackMap locals:
StackMap stack:
aload 1
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
aload 0
aload 0
aload 1
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 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
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 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jruby.RubyHash.modify:()V
1: aload 0
aload 2
invokevirtual org.jruby.RubyHash.internalDelete:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash$RubyHashEntry;
astore 4
start local 4 2: aload 4
getstatic org.jruby.RubyHash.NO_ENTRY:Lorg/jruby/RubyHash$RubyHashEntry;
if_acmpeq 3
aload 4
getfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
3: StackMap locals: org.jruby.RubyHash$RubyHashEntry
StackMap stack:
aload 3
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 4
aload 3
aload 1
aload 2
invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
4: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 2
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifne 2
aload 1
aload 0
ldc "select"
aload 0
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: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 3
invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
astore 4
start local 4 3: aload 0
aload 1
new org.jruby.RubyHash$SelectVisitor
dup
aload 4
invokespecial org.jruby.RubyHash$SelectVisitor.<init>:(Lorg/jruby/RubyHash;)V
aload 2
invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
4: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 7
3: StackMap locals: org.jruby.RubyHash int
StackMap stack:
aload 2
iload 4
aaload
astore 5
start local 5 4: aload 0
aload 5
invokevirtual org.jruby.RubyHash.internalGet:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
start local 6 5: aload 6
ifnull 6
aload 3
aload 5
aload 6
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 end local 5 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
aload 2
arraylength
if_icmplt 3
end local 4 8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyHash.select:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyHash.modify:()V
1: aload 0
aload 1
getstatic org.jruby.RubyHash.DeleteIfVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 2
invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
2: aload 0
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 1
aload 0
aload 1
aload 2
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
aload 0
ldc "delete_if"
aload 0
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
astore 3
start local 3 1: aload 0
aload 1
new org.jruby.RubyHash$RejectVisitor
dup
aload 3
invokespecial org.jruby.RubyHash$RejectVisitor.<init>:(Lorg/jruby/RubyHash;)V
aload 2
invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 1
aload 0
aload 1
aload 2
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
aload 0
ldc "reject"
aload 0
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
getfield org.jruby.RubyHash.size:I
istore 3
start local 3 1: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyHash.delete_if:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
2: iload 3
aload 0
getfield org.jruby.RubyHash.size:I
if_icmpne 3
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
3: StackMap locals: int
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 1
aload 0
aload 1
aload 2
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
aload 0
ldc "reject!"
aload 0
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 end local 1 end local 0 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(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyHash;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.RubyHash.modify:()V
1: aload 0
getfield org.jruby.RubyHash.size:I
ifle 4
2: aload 0
invokevirtual org.jruby.RubyHash.alloc:()V
3: aload 0
iconst_0
putfield org.jruby.RubyHash.size:I
4: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 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 = {"clear"})
MethodParameters:
Name Flags
context
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 start local 1 0: aload 0
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
start local 2 1: aload 0
aload 1
getstatic org.jruby.RubyHash.InvertVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 2
invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jruby.RubyHash.modify:()V
1: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToHash:()Lorg/jruby/RubyHash;
astore 4
start local 4 2: aload 4
aload 1
invokevirtual org.jruby.RubyHash.empty_p:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyBoolean;
invokevirtual org.jruby.RubyBoolean.isTrue:()Z
ifeq 3
aload 0
areturn
3: StackMap locals: org.jruby.RubyHash
StackMap stack:
aload 4
aload 1
new org.jruby.RubyHash$MergeVisitor
dup
aload 0
invokespecial org.jruby.RubyHash$MergeVisitor.<init>:(Lorg/jruby/RubyHash;)V
aload 3
invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
4: aload 0
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
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 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jruby.RubyHash.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyHash
aload 1
aload 2
aload 3
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 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyHash.replace:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash;
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyHash.initialize_copy:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash;
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyHash.modify:()V
1: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToHash:()Lorg/jruby/RubyHash;
astore 3
start local 3 2: aload 0
aload 3
if_acmpne 3
aload 0
areturn
3: StackMap locals: org.jruby.RubyHash
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.RubyHash.rb_clear:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyHash;
pop
4: aload 0
invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
ifne 6
aload 3
invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
ifeq 6
5: aload 0
iconst_1
invokevirtual org.jruby.RubyHash.setComparedByIdentity:(Z)V
6: StackMap locals:
StackMap stack:
aload 3
aload 1
getstatic org.jruby.RubyHash.ReplaceVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 0
invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
7: aload 0
aload 3
getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
8: aload 3
getfield org.jruby.RubyHash.flags:I
getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
iand
ifeq 11
9: aload 0
dup
getfield org.jruby.RubyHash.flags:I
getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
ior
putfield org.jruby.RubyHash.flags:I
10: goto 12
11: StackMap locals:
StackMap stack:
aload 0
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: StackMap locals:
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
arraylength
invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 5
3: StackMap locals: org.jruby.RubyArray int
StackMap stack:
aload 3
iload 4
aload 0
aload 1
aload 2
iload 4
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: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
aload 2
arraylength
if_icmplt 3
end local 4 6: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
arraylength
invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 5
3: StackMap locals: org.jruby.RubyArray int
StackMap stack:
aload 4
iload 5
aload 0
aload 1
aload 2
iload 5
aaload
aload 3
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: iinc 5 1
StackMap locals:
StackMap stack:
5: iload 5
aload 2
arraylength
if_icmplt 3
end local 5 6: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
getstatic org.jruby.RubyHash.FoundPairIfEqualKeyVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 2
invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
1: aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
2: areturn
3: StackMap locals:
StackMap stack: org.jruby.RubyHash$FoundPair
astore 3
start local 3 4: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
getfield org.jruby.RubyHash$FoundPair.key:Lorg/jruby/runtime/builtin/IRubyObject;
aload 3
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 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
getstatic org.jruby.RubyHash.FoundPairIfEqualValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 2
invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
1: aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
2: areturn
3: StackMap locals:
StackMap stack: org.jruby.RubyHash$FoundPair
astore 3
start local 3 4: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
getfield org.jruby.RubyHash$FoundPair.key:Lorg/jruby/runtime/builtin/IRubyObject;
aload 3
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 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.RubyHash.to_a:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
astore 2
start local 2 1: aload 1
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
aload 2
aload 2
aload 1
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: aload 2
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.jruby.RubyHash.to_a:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
astore 3
start local 3 1: aload 1
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
aload 3
aload 3
aload 2
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: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
invokevirtual org.jruby.RubyHash.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
start local 2 1: aload 2
checkcast org.jruby.RubyHash
aload 1
invokevirtual org.jruby.RubyHash.compact_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
2: aload 2
areturn
end local 2 end local 1 end local 0 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 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
invokevirtual org.jruby.RubyHash.modify:()V
2: aload 0
invokevirtual org.jruby.RubyHash.iteratorEntry:()V
3: aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 3
start local 3 4: goto 9
5: StackMap locals: int org.jruby.RubyHash$RubyHashEntry
StackMap stack:
aload 3
getfield org.jruby.RubyHash$RubyHashEntry.value:Lorg/jruby/runtime/builtin/IRubyObject;
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpne 8
6: aload 0
aload 3
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: iconst_1
istore 2
8: StackMap locals:
StackMap stack:
aload 3
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 3
StackMap locals:
StackMap stack:
9: aload 3
aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
if_acmpne 5
end local 3 10: goto 14
StackMap locals: org.jruby.RubyHash org.jruby.runtime.ThreadContext int
StackMap stack: java.lang.Throwable
11: astore 4
12: aload 0
invokevirtual org.jruby.RubyHash.iteratorExit:()V
13: aload 4
athrow
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.RubyHash.iteratorExit:()V
15: iload 2
ifeq 16
aload 0
goto 17
StackMap locals:
StackMap stack:
16: aload 1
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 end local 1 end local 0 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 start local 1 0: aload 0
invokevirtual org.jruby.RubyHash.modify:()V
1: aload 0
iconst_1
invokevirtual org.jruby.RubyHash.setComparedByIdentity:(Z)V
2: aload 0
aload 1
invokevirtual org.jruby.RubyHash.rehash:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyHash;
areturn
end local 1 end local 0 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 start local 1 0: aload 1
aload 0
invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
end local 1 end local 0 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 start local 1 0: aload 0
invokespecial org.jruby.RubyObject.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyHash
astore 2
start local 2 1: aload 2
aload 0
invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
invokevirtual org.jruby.RubyHash.setComparedByIdentity:(Z)V
2: aload 2
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
invokespecial org.jruby.RubyObject.rbClone:()Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyHash
astore 2
start local 2 1: aload 2
aload 0
invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
invokevirtual org.jruby.RubyHash.setComparedByIdentity:(Z)V
2: aload 2
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 2
arraylength
ifle 1
aload 2
iconst_0
aaload
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
2: astore 4
start local 4 3: aload 4
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
start local 5 6: aload 0
invokevirtual org.jruby.RubyHash.isEmpty:()Z
ifeq 7
aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
areturn
7: StackMap locals: int
StackMap stack:
aload 3
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifne 8
iload 5
ifne 8
aload 1
getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
areturn
8: StackMap locals:
StackMap stack:
iload 5
ifeq 9
aload 0
aload 1
aload 4
invokevirtual org.jruby.RubyHash.any_p_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
9: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.jruby.runtime.Block.getSignature:()Lorg/jruby/runtime/Signature;
invokevirtual org.jruby.runtime.Signature.arityValue:()I
iconst_1
if_icmple 11
10: aload 0
aload 1
aload 3
invokevirtual org.jruby.RubyHash.any_p_i_fast:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
11: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.jruby.RubyHash.any_p_i:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyHash.iteratorEntry:()V
1: aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 3
start local 3 2: goto 9
3: StackMap locals: org.jruby.RubyHash$RubyHashEntry
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
aload 3
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
start local 4 4: aload 2
aload 1
aload 4
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: aload 1
getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
astore 6
6: aload 0
invokevirtual org.jruby.RubyHash.iteratorExit:()V
7: aload 6
areturn
end local 4 8: StackMap locals:
StackMap stack:
aload 3
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 3
StackMap locals:
StackMap stack:
9: aload 3
aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
if_acmpne 3
end local 3 10: aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
astore 6
11: aload 0
invokevirtual org.jruby.RubyHash.iteratorExit:()V
12: aload 6
areturn
13: StackMap locals: org.jruby.RubyHash org.jruby.runtime.ThreadContext org.jruby.runtime.Block
StackMap stack: java.lang.Throwable
astore 5
14: aload 0
invokevirtual org.jruby.RubyHash.iteratorExit:()V
15: aload 5
athrow
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyHash.iteratorEntry:()V
1: aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 3
start local 3 2: goto 8
3: StackMap locals: org.jruby.RubyHash$RubyHashEntry
StackMap stack:
aload 2
aload 1
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
aload 3
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: aload 1
getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
astore 5
5: aload 0
invokevirtual org.jruby.RubyHash.iteratorExit:()V
6: aload 5
areturn
7: StackMap locals:
StackMap stack:
aload 3
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 3
StackMap locals:
StackMap stack:
8: aload 3
aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
if_acmpne 3
end local 3 9: aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
astore 5
10: aload 0
invokevirtual org.jruby.RubyHash.iteratorExit:()V
11: aload 5
areturn
12: StackMap locals: org.jruby.RubyHash org.jruby.runtime.ThreadContext org.jruby.runtime.Block
StackMap stack: java.lang.Throwable
astore 4
13: aload 0
invokevirtual org.jruby.RubyHash.iteratorExit:()V
14: aload 4
athrow
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual org.jruby.RubyHash.iteratorEntry:()V
1: aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 3
start local 3 2: goto 9
3: StackMap locals: org.jruby.RubyHash$RubyHashEntry
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
getfield org.jruby.RubyHash$RubyHashEntry.key:Lorg/jruby/runtime/builtin/IRubyObject;
aload 3
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
start local 4 4: aload 2
aload 1
ldc "==="
aload 4
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: aload 1
getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
astore 6
6: aload 0
invokevirtual org.jruby.RubyHash.iteratorExit:()V
7: aload 6
areturn
end local 4 8: StackMap locals:
StackMap stack:
aload 3
getfield org.jruby.RubyHash$RubyHashEntry.nextAdded:Lorg/jruby/RubyHash$RubyHashEntry;
astore 3
StackMap locals:
StackMap stack:
9: aload 3
aload 0
getfield org.jruby.RubyHash.head:Lorg/jruby/RubyHash$RubyHashEntry;
if_acmpne 3
end local 3 10: aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
astore 6
11: aload 0
invokevirtual org.jruby.RubyHash.iteratorExit:()V
12: aload 6
areturn
13: StackMap locals: org.jruby.RubyHash org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
StackMap stack: java.lang.Throwable
astore 5
14: aload 0
invokevirtual org.jruby.RubyHash.iteratorExit:()V
15: aload 5
athrow
end local 2 end local 1 end local 0 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 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 2
start local 2 1: new org.jruby.RubyHash
dup
aload 2
aload 0
getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
aload 0
invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyHash;)V
astore 3
start local 3 2: aload 3
aload 0
invokevirtual org.jruby.RubyHash.isComparedByIdentity:()Z
invokevirtual org.jruby.RubyHash.setComparedByIdentity:(Z)V
3: aload 3
aload 0
getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
putfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
4: aload 0
getfield org.jruby.RubyHash.flags:I
getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
iand
ifeq 7
5: aload 3
dup
getfield org.jruby.RubyHash.flags:I
getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
ior
putfield org.jruby.RubyHash.flags:I
6: goto 8
7: StackMap locals: org.jruby.Ruby org.jruby.RubyHash
StackMap stack:
aload 3
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: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
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 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 0: aload 0
getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 2
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 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
iinc 3 1
aaload
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 1: iload 3
aload 2
arraylength
if_icmpne 2
aload 4
goto 3
StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
2: aload 1
aload 4
aload 2
iload 3
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 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
1: aload 0
getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
2: getstatic org.jruby.runtime.Signature.ONE_ARGUMENT:Lorg/jruby/runtime/Signature;
3: aload 0
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$1(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: aload 1
5: 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
start local 2 6: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
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 end local 1 end local 0 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 start local 1 0: aload 1
aload 0
invokevirtual org.jruby.runtime.marshal.MarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
1: aload 0
getfield org.jruby.RubyHash.size:I
istore 2
start local 2 2: aload 1
iload 2
invokevirtual org.jruby.runtime.marshal.MarshalStream.writeInt:(I)V
3: aload 0
aload 0
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
i2l
aload 1
invokevirtual org.jruby.RubyHash.visitLimited:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;JLjava/lang/Object;)V
4: goto 7
StackMap locals: org.jruby.RubyHash org.jruby.runtime.marshal.MarshalStream int
StackMap stack: org.jruby.RubyHash$VisitorIOException
5: astore 3
start local 3 6: aload 3
invokevirtual org.jruby.RubyHash$VisitorIOException.getCause:()Ljava/lang/Throwable;
checkcast java.io.IOException
athrow
end local 3 7: StackMap locals:
StackMap stack:
aload 0
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
aload 0
getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.runtime.marshal.MarshalStream.dumpObject:(Lorg/jruby/runtime/builtin/IRubyObject;)V
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
invokevirtual org.jruby.runtime.marshal.UnmarshalStream.getRuntime:()Lorg/jruby/Ruby;
invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual org.jruby.runtime.marshal.UnmarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
2: aload 0
invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalInt:()I
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: org.jruby.RubyHash int int
StackMap stack:
aload 2
aload 0
invokevirtual org.jruby.runtime.marshal.UnmarshalStream.getRuntime:()Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:()Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
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: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 3
if_icmplt 5
end local 4 8: iload 1
ifeq 9
aload 2
aload 0
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: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 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 0: ldc Ljava/util/Map;
areturn
end local 0 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 0: aload 0
getfield org.jruby.RubyHash.size:I
ireturn
end local 0 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 0: aload 0
getfield org.jruby.RubyHash.size:I
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 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 start local 1 0: aload 0
aload 0
getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
aload 1
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 end local 0 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 start local 1 0: aload 0
aload 0
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
getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
aload 1
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 end local 0 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 start local 1 0: aload 0
aload 0
getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
aload 1
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
start local 2 1: aload 2
ifnonnull 2
aconst_null
goto 3
StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
2: aload 2
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 0
aload 3
aload 1
invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
aload 3
aload 2
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
start local 4 2: aload 4
ifnonnull 3
aconst_null
goto 4
StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
StackMap stack:
3: aload 4
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 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
aload 1
invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
start local 2 1: aload 0
aload 2
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 end local 1 end local 0 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 start local 1 0: aload 0
getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: goto 8
3: StackMap locals: org.jruby.Ruby java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 4: aload 0
5: aload 2
aload 4
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: aload 2
aload 4
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: invokevirtual org.jruby.RubyHash.internalPut:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 4 8: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
9: return
end local 3 end local 2 end local 1 end local 0 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=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.jruby.RubyHash.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
invokevirtual org.jruby.RubyHash.rb_clear:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyHash;
pop
1: return
end local 0 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 start local 1 0: aload 1
instanceof org.jruby.RubyHash
ifne 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
if_acmpne 2
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 0
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
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 end local 0 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 0: new org.jruby.RubyHash$BaseSet
dup
aload 0
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 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 0: new org.jruby.RubyHash$BaseSet
dup
aload 0
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 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 0: new org.jruby.RubyHash$BaseCollection
dup
aload 0
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 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 0: new org.jruby.RubyHash$BaseCollection
dup
aload 0
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 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 0: new org.jruby.RubyHash$BaseSet
dup
aload 0
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 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 0: new org.jruby.RubyHash$BaseSet
dup
aload 0
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 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 0: aload 0
getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
1: ldc "Detected invalid hash contents due to unsynchronized modifications with concurrent users"
2: invokevirtual org.jruby.Ruby.newConcurrencyError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
areturn
end local 0 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 0: aload 0
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 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 start local 1 0: iload 1
ifeq 3
1: aload 0
dup
getfield org.jruby.RubyHash.flags:I
getstatic org.jruby.RubyHash.COMPARE_BY_IDENTITY_F:I
ior
putfield org.jruby.RubyHash.flags:I
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
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: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.jruby.RubyHash.modify:()V
1: aload 0
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
aload 3
invokevirtual org.jruby.RubyHash.fastASetCheckString19:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 0
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
aload 2
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 end local 1 end local 0 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 start local 1 0: aload 0
aload 0
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
invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 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 0: aload 0
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 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokevirtual org.jruby.RubyHash.fastASetCheckString:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
1: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokevirtual org.jruby.RubyHash.fastASetSmallCheckString:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
1: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 0
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
aload 2
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 1
aload 0
aload 1
aload 2
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
aload 0
ldc "each_pair"
aload 0
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 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
getstatic org.jruby.RubyHash.YieldKeyValueArrayVisitor:Lorg/jruby/RubyHash$VisitorWithState;
aload 2
invokevirtual org.jruby.RubyHash.iteratorVisitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
1: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyHash.replace:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyHash;
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 0
invokevirtual org.jruby.RubyHash.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 1
ldc -1
aconst_null
invokevirtual org.jruby.RubyHash.visitLimited:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;JLjava/lang/Object;)V
1: return
end local 1 end local 0 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 start local 1 start local 2 0: aload 2
arraylength
tableswitch { // 0 - 1
0: 1
1: 2
default: 3
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.RubyHash.default_value_get:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
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: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
arraylength
iconst_1
invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
athrow
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
invokevirtual org.jruby.RubyHash.internalPutNoResize:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
pop
1: return
end local 3 end local 2 end local 1 end local 0 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
public org.jruby.RubyArray to_a();
descriptor: ()Lorg/jruby/RubyArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.jruby.RubyHash.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
invokevirtual org.jruby.RubyHash.to_a:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyHash;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
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=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
invokevirtual org.jruby.RubyHash.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 1
invokevirtual org.jruby.RubyHash.default_value_set:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyHash;
0 1 1 defaultValue Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
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 0: aload 0
getfield org.jruby.RubyHash.flags:I
getstatic org.jruby.RubyHash.PROCDEFAULT_HASH_F:I
iand
ifeq 1
aload 0
getfield org.jruby.RubyHash.ifNone:Lorg/jruby/runtime/builtin/IRubyObject;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
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 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyHash;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
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=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
invokevirtual org.jruby.RubyHash.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 1
invokevirtual org.jruby.RubyHash.set_default_proc:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 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 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 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.RubyHash.set_default_proc:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 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 org.jruby.RubyFixnum rb_size();
descriptor: ()Lorg/jruby/RubyFixnum;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyHash.size:I
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyHash;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public org.jruby.RubyBoolean empty_p();
descriptor: ()Lorg/jruby/RubyBoolean;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyHash.metaClass:Lorg/jruby/RubyClass;
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
astore 1
start local 1 1: aload 0
getfield org.jruby.RubyHash.size:I
ifne 2
aload 1
invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
goto 3
StackMap locals: org.jruby.Ruby
StackMap stack:
2: aload 1
invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
StackMap locals:
StackMap stack: org.jruby.RubyBoolean
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/RubyHash;
1 4 1 runtime Lorg/jruby/Ruby;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public org.jruby.RubyHash rehash();
descriptor: ()Lorg/jruby/RubyHash;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.jruby.RubyHash.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
invokevirtual org.jruby.RubyHash.rehash:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyHash;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyHash;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public org.jruby.RubyHash to_hash();
descriptor: ()Lorg/jruby/RubyHash;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.jruby.RubyHash.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
invokevirtual org.jruby.RubyHash.to_hash:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyHash;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyHash;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
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 0: aload 0
aload 0
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 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyHash;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
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 0: aload 0
aload 0
invokevirtual org.jruby.RubyHash.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
invokevirtual org.jruby.RubyHash.rb_clear:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyHash;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyHash;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
private org.jruby.runtime.builtin.IRubyObject lambda$0(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: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.jruby.RubyHash.rb_size:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyFixnum;
areturn
end local 2 end local 1 end local 0 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;
private org.jruby.runtime.builtin.IRubyObject lambda$1(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 start local 1 start local 2 start local 3 0: aload 1
aload 2
iconst_1
iconst_1
invokestatic org.jruby.runtime.Arity.checkArgumentCount:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;II)I
pop
1: aload 0
aload 1
aload 2
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 end local 2 end local 1 end local 0 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$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$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"})