class com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState
super_class: java.lang.Object
{
private final java.util.concurrent.atomic.AtomicReferenceArray<com.netflix.hystrix.util.HystrixRollingPercentile$Bucket> data;
descriptor: Ljava/util/concurrent/atomic/AtomicReferenceArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/netflix/hystrix/util/HystrixRollingPercentile$Bucket;>;
private final int size;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int tail;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int head;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray this$1;
descriptor: Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(java.util.concurrent.atomic.AtomicReferenceArray<com.netflix.hystrix.util.HystrixRollingPercentile$Bucket>, int, );
descriptor: (Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.this$1:Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 3
putfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.head:I
2: aload 0
iload 4
putfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.tail:I
3: iload 3
ifne 6
iload 4
ifne 6
4: aload 0
iconst_0
putfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.size:I
5: goto 7
6: StackMap locals: com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray java.util.concurrent.atomic.AtomicReferenceArray int int
StackMap stack:
aload 0
iload 4
aload 1
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray.dataLength:I
iadd
iload 3
isub
aload 1
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray.dataLength:I
irem
putfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.size:I
7: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.data:Ljava/util/concurrent/atomic/AtomicReferenceArray;
8: return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray$ListState;
0 9 2 data Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/netflix/hystrix/util/HystrixRollingPercentile$Bucket;>;
0 9 3 head I
0 9 4 tail I
Signature: (Ljava/util/concurrent/atomic/AtomicReferenceArray<Lcom/netflix/hystrix/util/HystrixRollingPercentile$Bucket;>;II)V
MethodParameters:
Name Flags
this$0 final
data
head
tail
public com.netflix.hystrix.util.HystrixRollingPercentile$Bucket tail();
descriptor: ()Lcom/netflix/hystrix/util/HystrixRollingPercentile$Bucket;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.size:I
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.data:Ljava/util/concurrent/atomic/AtomicReferenceArray;
aload 0
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.size:I
iconst_1
isub
invokevirtual com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.convert:(I)I
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
checkcast com.netflix.hystrix.util.HystrixRollingPercentile$Bucket
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray$ListState;
private com.netflix.hystrix.util.HystrixRollingPercentile$Bucket[] getArray();
descriptor: ()[Lcom/netflix/hystrix/util/HystrixRollingPercentile$Bucket;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: java.util.ArrayList int
StackMap stack:
aload 1
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.data:Ljava/util/concurrent/atomic/AtomicReferenceArray;
aload 0
iload 2
invokevirtual com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.convert:(I)I
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.get:(I)Ljava/lang/Object;
checkcast com.netflix.hystrix.util.HystrixRollingPercentile$Bucket
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.size:I
if_icmplt 3
end local 2 6: aload 1
aload 1
invokevirtual java.util.ArrayList.size:()I
anewarray com.netflix.hystrix.util.HystrixRollingPercentile$Bucket
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.netflix.hystrix.util.HystrixRollingPercentile$Bucket[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray$ListState;
1 7 1 array Ljava/util/ArrayList<Lcom/netflix/hystrix/util/HystrixRollingPercentile$Bucket;>;
2 6 2 i I
private com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState incrementTail();
descriptor: ()Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray$ListState;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.size:I
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.this$1:Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray;
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray.numBuckets:I
if_icmpne 2
1: new com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState
dup
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.this$1:Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray;
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.data:Ljava/util/concurrent/atomic/AtomicReferenceArray;
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.head:I
iconst_1
iadd
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.this$1:Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray;
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray.dataLength:I
irem
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.tail:I
iconst_1
iadd
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.this$1:Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray;
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray.dataLength:I
irem
invokespecial com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.<init>:(Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
areturn
2: StackMap locals:
StackMap stack:
new com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState
dup
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.this$1:Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray;
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.data:Ljava/util/concurrent/atomic/AtomicReferenceArray;
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.head:I
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.tail:I
iconst_1
iadd
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.this$1:Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray;
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray.dataLength:I
irem
invokespecial com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.<init>:(Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray$ListState;
public com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState clear();
descriptor: ()Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray$ListState;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: new com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState
dup
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.this$1:Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray;
new java.util.concurrent.atomic.AtomicReferenceArray
dup
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.this$1:Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray;
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray.dataLength:I
invokespecial java.util.concurrent.atomic.AtomicReferenceArray.<init>:(I)V
iconst_0
iconst_0
invokespecial com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.<init>:(Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray;Ljava/util/concurrent/atomic/AtomicReferenceArray;II)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray$ListState;
public com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState addBucket(com.netflix.hystrix.util.HystrixRollingPercentile$Bucket);
descriptor: (Lcom/netflix/hystrix/util/HystrixRollingPercentile$Bucket;)Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray$ListState;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.data:Ljava/util/concurrent/atomic/AtomicReferenceArray;
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.tail:I
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
1: aload 0
invokevirtual com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.incrementTail:()Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray$ListState;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray$ListState;
0 2 1 b Lcom/netflix/hystrix/util/HystrixRollingPercentile$Bucket;
MethodParameters:
Name Flags
b
private int convert(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.head:I
iadd
aload 0
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState.this$1:Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray;
getfield com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray.dataLength:I
irem
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/netflix/hystrix/util/HystrixRollingPercentile$BucketCircularArray$ListState;
0 1 1 index I
MethodParameters:
Name Flags
index
}
SourceFile: "HystrixRollingPercentile.java"
NestHost: com.netflix.hystrix.util.HystrixRollingPercentile
InnerClasses:
Bucket = com.netflix.hystrix.util.HystrixRollingPercentile$Bucket of com.netflix.hystrix.util.HystrixRollingPercentile
BucketCircularArray = com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray of com.netflix.hystrix.util.HystrixRollingPercentile
private ListState = com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray$ListState of com.netflix.hystrix.util.HystrixRollingPercentile$BucketCircularArray