final class java.util.concurrent.Semaphore$FairSync extends java.util.concurrent.Semaphore$Sync
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.util.concurrent.Semaphore$FairSync
super_class: java.util.concurrent.Semaphore$Sync
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2014338818796000944
void <init>(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokespecial java.util.concurrent.Semaphore$Sync.<init>:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/Semaphore$FairSync;
0 2 1 permits I
MethodParameters:
Name Flags
permits
protected int tryAcquireShared(int);
descriptor: (I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.Semaphore$FairSync.hasQueuedPredecessors:()Z
ifeq 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.Semaphore$FairSync.getState:()I
istore 2
start local 2 3: iload 2
iload 1
isub
istore 3
start local 3 4: iload 3
iflt 6
5: aload 0
iload 2
iload 3
invokevirtual java.util.concurrent.Semaphore$FairSync.compareAndSetState:(II)Z
ifeq 0
6: StackMap locals: int int
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/concurrent/Semaphore$FairSync;
0 7 1 acquires I
3 7 2 available I
4 7 3 remaining I
MethodParameters:
Name Flags
acquires
}
SourceFile: "Semaphore.java"
NestHost: java.util.concurrent.Semaphore
InnerClasses:
final FairSync = java.util.concurrent.Semaphore$FairSync of java.util.concurrent.Semaphore
abstract Sync = java.util.concurrent.Semaphore$Sync of java.util.concurrent.Semaphore