Files
rr3-apk/decompiled/sources/kotlinx/coroutines/internal/LockFreeTaskQueue.java
Daniel Elliott f9d20bb3fc Add decompiled APK source code (JADX)
- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-18 14:52:23 -08:00

59 lines
2.5 KiB
Java

package kotlinx.coroutines.internal;
import androidx.concurrent.futures.AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0;
import java.util.concurrent.atomic.AtomicReferenceFieldUpdater;
/* loaded from: classes5.dex */
public class LockFreeTaskQueue {
public static final AtomicReferenceFieldUpdater _cur$FU = AtomicReferenceFieldUpdater.newUpdater(LockFreeTaskQueue.class, Object.class, "_cur");
private volatile Object _cur;
public LockFreeTaskQueue(boolean z) {
this._cur = new LockFreeTaskQueueCore(8, z);
}
public final int getSize() {
return ((LockFreeTaskQueueCore) _cur$FU.get(this)).getSize();
}
public final void close() {
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater = _cur$FU;
while (true) {
LockFreeTaskQueueCore lockFreeTaskQueueCore = (LockFreeTaskQueueCore) atomicReferenceFieldUpdater.get(this);
if (lockFreeTaskQueueCore.close()) {
return;
} else {
AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_cur$FU, this, lockFreeTaskQueueCore, lockFreeTaskQueueCore.next());
}
}
}
public final boolean addLast(Object obj) {
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater = _cur$FU;
while (true) {
LockFreeTaskQueueCore lockFreeTaskQueueCore = (LockFreeTaskQueueCore) atomicReferenceFieldUpdater.get(this);
int addLast = lockFreeTaskQueueCore.addLast(obj);
if (addLast == 0) {
return true;
}
if (addLast == 1) {
AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_cur$FU, this, lockFreeTaskQueueCore, lockFreeTaskQueueCore.next());
} else if (addLast == 2) {
return false;
}
}
}
public final Object removeFirstOrNull() {
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater = _cur$FU;
while (true) {
LockFreeTaskQueueCore lockFreeTaskQueueCore = (LockFreeTaskQueueCore) atomicReferenceFieldUpdater.get(this);
Object removeFirstOrNull = lockFreeTaskQueueCore.removeFirstOrNull();
if (removeFirstOrNull != LockFreeTaskQueueCore.REMOVE_FROZEN) {
return removeFirstOrNull;
}
AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_cur$FU, this, lockFreeTaskQueueCore, lockFreeTaskQueueCore.next());
}
}
}