final class org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV implements java.util.Iterator<TypeV>, java.util.Enumeration<TypeV>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV
super_class: java.lang.Object
{
final org.jruby.util.collections.NonBlockingHashMapLong$CHM _sschm;
descriptor: Lorg/jruby/util/collections/NonBlockingHashMapLong$CHM;
flags: (0x0010) ACC_FINAL
private int _idx;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long _nextK;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long _prevK;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private TypeV _nextV;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Signature: TTypeV;
private TypeV _prevV;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Signature: TTypeV;
final org.jruby.util.collections.NonBlockingHashMapLong this$0;
descriptor: Lorg/jruby/util/collections/NonBlockingHashMapLong;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(org.jruby.util.collections.NonBlockingHashMapLong);
descriptor: (Lorg/jruby/util/collections/NonBlockingHashMapLong;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 0: aload 0
aload 1
putfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV.this$0:Lorg/jruby/util/collections/NonBlockingHashMapLong;
aload 0
invokespecial java.lang.Object.<init>:()V
1: StackMap locals: org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV org.jruby.util.collections.NonBlockingHashMapLong
StackMap stack:
aload 1
getfield org.jruby.util.collections.NonBlockingHashMapLong._chm:Lorg/jruby/util/collections/NonBlockingHashMapLong$CHM;
astore 2
start local 2 2: aload 2
getfield org.jruby.util.collections.NonBlockingHashMapLong$CHM._newchm:Lorg/jruby/util/collections/NonBlockingHashMapLong$CHM;
ifnonnull 4
3: goto 6
4: StackMap locals: org.jruby.util.collections.NonBlockingHashMapLong$CHM
StackMap stack:
aload 2
iconst_1
invokevirtual org.jruby.util.collections.NonBlockingHashMapLong$CHM.help_copy_impl:(Z)V
end local 2 5: goto 1
start local 2 6: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._sschm:Lorg/jruby/util/collections/NonBlockingHashMapLong$CHM;
7: aload 0
iconst_m1
putfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._idx:I
8: aload 0
invokevirtual org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV.next:()Ljava/lang/Object;
pop
9: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/util/collections/NonBlockingHashMapLong$SnapshotV;
2 5 2 topchm Lorg/jruby/util/collections/NonBlockingHashMapLong$CHM;
6 10 2 topchm Lorg/jruby/util/collections/NonBlockingHashMapLong$CHM;
MethodParameters:
Name Flags
this$0 final
int length();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._sschm:Lorg/jruby/util/collections/NonBlockingHashMapLong$CHM;
getfield org.jruby.util.collections.NonBlockingHashMapLong$CHM._keys:[J
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/util/collections/NonBlockingHashMapLong$SnapshotV;
long key(int);
descriptor: (I)J
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._sschm:Lorg/jruby/util/collections/NonBlockingHashMapLong$CHM;
getfield org.jruby.util.collections.NonBlockingHashMapLong$CHM._keys:[J
iload 1
laload
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/util/collections/NonBlockingHashMapLong$SnapshotV;
0 1 1 idx I
MethodParameters:
Name Flags
idx final
public boolean hasNext();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._nextV:Ljava/lang/Object;
ifnull 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/util/collections/NonBlockingHashMapLong$SnapshotV;
public TypeV next();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._idx:I
iconst_m1
if_icmpeq 1
aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._nextV:Ljava/lang/Object;
ifnonnull 1
new java.util.NoSuchElementException
dup
invokespecial java.util.NoSuchElementException.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._nextK:J
putfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._prevK:J
2: aload 0
aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._nextV:Ljava/lang/Object;
putfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._prevV:Ljava/lang/Object;
3: aload 0
aconst_null
putfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._nextV:Ljava/lang/Object;
4: aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._idx:I
iconst_m1
if_icmpne 12
5: aload 0
iconst_0
putfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._idx:I
6: aload 0
lconst_0
putfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._nextK:J
7: aload 0
aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV.this$0:Lorg/jruby/util/collections/NonBlockingHashMapLong;
aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._nextK:J
invokevirtual org.jruby.util.collections.NonBlockingHashMapLong.get:(J)Ljava/lang/Object;
dup_x1
putfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._nextV:Ljava/lang/Object;
ifnull 12
aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._prevV:Ljava/lang/Object;
areturn
8: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 0
dup
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._idx:I
dup_x1
iconst_1
iadd
putfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._idx:I
invokevirtual org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV.key:(I)J
putfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._nextK:J
9: aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._nextK:J
lconst_0
lcmp
ifeq 12
10: aload 0
aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV.this$0:Lorg/jruby/util/collections/NonBlockingHashMapLong;
aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._nextK:J
invokevirtual org.jruby.util.collections.NonBlockingHashMapLong.get:(J)Ljava/lang/Object;
dup_x1
putfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._nextV:Ljava/lang/Object;
ifnull 12
11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._idx:I
aload 0
invokevirtual org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV.length:()I
if_icmplt 8
13: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._prevV:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/jruby/util/collections/NonBlockingHashMapLong$SnapshotV;
Signature: ()TTypeV;
public void remove();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._prevV:Ljava/lang/Object;
ifnonnull 1
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._sschm:Lorg/jruby/util/collections/NonBlockingHashMapLong$CHM;
aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._prevK:J
getstatic org.jruby.util.collections.NonBlockingHashMapLong.TOMBSTONE:Ljava/lang/Object;
aload 0
getfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._prevV:Ljava/lang/Object;
invokevirtual org.jruby.util.collections.NonBlockingHashMapLong$CHM.putIfMatch:(JLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
aconst_null
putfield org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV._prevV:Ljava/lang/Object;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/util/collections/NonBlockingHashMapLong$SnapshotV;
public TypeV nextElement();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV.next:()Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/util/collections/NonBlockingHashMapLong$SnapshotV;
Signature: ()TTypeV;
public boolean hasMoreElements();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV.hasNext:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/util/collections/NonBlockingHashMapLong$SnapshotV;
}
Signature: Ljava/lang/Object;Ljava/util/Iterator<TTypeV;>;Ljava/util/Enumeration<TTypeV;>;
SourceFile: "NonBlockingHashMapLong.java"
NestHost: org.jruby.util.collections.NonBlockingHashMapLong
InnerClasses:
private final CHM = org.jruby.util.collections.NonBlockingHashMapLong$CHM of org.jruby.util.collections.NonBlockingHashMapLong
private final SnapshotV = org.jruby.util.collections.NonBlockingHashMapLong$SnapshotV of org.jruby.util.collections.NonBlockingHashMapLong