package kotlinx.coroutines.internal; import java.util.Arrays; import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; import kotlin.jvm.internal.Intrinsics; /* loaded from: classes5.dex */ public class ThreadSafeHeap { public static final AtomicIntegerFieldUpdater _size$FU = AtomicIntegerFieldUpdater.newUpdater(ThreadSafeHeap.class, "_size"); private volatile int _size; public ThreadSafeHeapNode[] a; public final ThreadSafeHeapNode peek() { ThreadSafeHeapNode firstImpl; synchronized (this) { firstImpl = firstImpl(); } return firstImpl; } public final boolean remove(ThreadSafeHeapNode threadSafeHeapNode) { boolean z; synchronized (this) { if (threadSafeHeapNode.getHeap() == null) { z = false; } else { removeAtImpl(threadSafeHeapNode.getIndex()); z = true; } } return z; } public final ThreadSafeHeapNode removeFirstOrNull() { ThreadSafeHeapNode removeAtImpl; synchronized (this) { removeAtImpl = getSize() > 0 ? removeAtImpl(0) : null; } return removeAtImpl; } public final int getSize() { return _size$FU.get(this); } public final void setSize(int i) { _size$FU.set(this, i); } public final boolean isEmpty() { return getSize() == 0; } public final ThreadSafeHeapNode firstImpl() { ThreadSafeHeapNode[] threadSafeHeapNodeArr = this.a; if (threadSafeHeapNodeArr != null) { return threadSafeHeapNodeArr[0]; } return null; } public final ThreadSafeHeapNode removeAtImpl(int i) { ThreadSafeHeapNode[] threadSafeHeapNodeArr = this.a; Intrinsics.checkNotNull(threadSafeHeapNodeArr); setSize(getSize() - 1); if (i < getSize()) { swap(i, getSize()); int i2 = (i - 1) / 2; if (i > 0) { ThreadSafeHeapNode threadSafeHeapNode = threadSafeHeapNodeArr[i]; Intrinsics.checkNotNull(threadSafeHeapNode); ThreadSafeHeapNode threadSafeHeapNode2 = threadSafeHeapNodeArr[i2]; Intrinsics.checkNotNull(threadSafeHeapNode2); if (((Comparable) threadSafeHeapNode).compareTo(threadSafeHeapNode2) < 0) { swap(i, i2); siftUpFrom(i2); } } siftDownFrom(i); } ThreadSafeHeapNode threadSafeHeapNode3 = threadSafeHeapNodeArr[getSize()]; Intrinsics.checkNotNull(threadSafeHeapNode3); threadSafeHeapNode3.setHeap(null); threadSafeHeapNode3.setIndex(-1); threadSafeHeapNodeArr[getSize()] = null; return threadSafeHeapNode3; } public final void addImpl(ThreadSafeHeapNode threadSafeHeapNode) { threadSafeHeapNode.setHeap(this); ThreadSafeHeapNode[] realloc = realloc(); int size = getSize(); setSize(size + 1); realloc[size] = threadSafeHeapNode; threadSafeHeapNode.setIndex(size); siftUpFrom(size); } public final void siftUpFrom(int i) { while (i > 0) { ThreadSafeHeapNode[] threadSafeHeapNodeArr = this.a; Intrinsics.checkNotNull(threadSafeHeapNodeArr); int i2 = (i - 1) / 2; ThreadSafeHeapNode threadSafeHeapNode = threadSafeHeapNodeArr[i2]; Intrinsics.checkNotNull(threadSafeHeapNode); ThreadSafeHeapNode threadSafeHeapNode2 = threadSafeHeapNodeArr[i]; Intrinsics.checkNotNull(threadSafeHeapNode2); if (((Comparable) threadSafeHeapNode).compareTo(threadSafeHeapNode2) <= 0) { return; } swap(i, i2); i = i2; } } /* JADX WARN: Code restructure failed: missing block: B:6:0x0028, code lost: if (((java.lang.Comparable) r3).compareTo(r4) < 0) goto L11; */ /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct add '--show-bad-code' argument */ public final void siftDownFrom(int r6) { /* r5 = this; L0: int r0 = r6 * 2 int r1 = r0 + 1 int r2 = r5.getSize() if (r1 < r2) goto Lb return Lb: kotlinx.coroutines.internal.ThreadSafeHeapNode[] r2 = r5.a kotlin.jvm.internal.Intrinsics.checkNotNull(r2) int r0 = r0 + 2 int r3 = r5.getSize() if (r0 >= r3) goto L2b r3 = r2[r0] kotlin.jvm.internal.Intrinsics.checkNotNull(r3) java.lang.Comparable r3 = (java.lang.Comparable) r3 r4 = r2[r1] kotlin.jvm.internal.Intrinsics.checkNotNull(r4) int r3 = r3.compareTo(r4) if (r3 >= 0) goto L2b goto L2c L2b: r0 = r1 L2c: r1 = r2[r6] kotlin.jvm.internal.Intrinsics.checkNotNull(r1) java.lang.Comparable r1 = (java.lang.Comparable) r1 r2 = r2[r0] kotlin.jvm.internal.Intrinsics.checkNotNull(r2) int r1 = r1.compareTo(r2) if (r1 > 0) goto L3f return L3f: r5.swap(r6, r0) r6 = r0 goto L0 */ throw new UnsupportedOperationException("Method not decompiled: kotlinx.coroutines.internal.ThreadSafeHeap.siftDownFrom(int):void"); } public final ThreadSafeHeapNode[] realloc() { ThreadSafeHeapNode[] threadSafeHeapNodeArr = this.a; if (threadSafeHeapNodeArr == null) { ThreadSafeHeapNode[] threadSafeHeapNodeArr2 = new ThreadSafeHeapNode[4]; this.a = threadSafeHeapNodeArr2; return threadSafeHeapNodeArr2; } if (getSize() < threadSafeHeapNodeArr.length) { return threadSafeHeapNodeArr; } Object[] copyOf = Arrays.copyOf(threadSafeHeapNodeArr, getSize() * 2); Intrinsics.checkNotNullExpressionValue(copyOf, "copyOf(this, newSize)"); ThreadSafeHeapNode[] threadSafeHeapNodeArr3 = (ThreadSafeHeapNode[]) copyOf; this.a = threadSafeHeapNodeArr3; return threadSafeHeapNodeArr3; } public final void swap(int i, int i2) { ThreadSafeHeapNode[] threadSafeHeapNodeArr = this.a; Intrinsics.checkNotNull(threadSafeHeapNodeArr); ThreadSafeHeapNode threadSafeHeapNode = threadSafeHeapNodeArr[i2]; Intrinsics.checkNotNull(threadSafeHeapNode); ThreadSafeHeapNode threadSafeHeapNode2 = threadSafeHeapNodeArr[i]; Intrinsics.checkNotNull(threadSafeHeapNode2); threadSafeHeapNodeArr[i] = threadSafeHeapNode; threadSafeHeapNodeArr[i2] = threadSafeHeapNode2; threadSafeHeapNode.setIndex(i); threadSafeHeapNode2.setIndex(i2); } }