package androidx.compose.runtime.snapshots;

import androidx.compose.runtime.internal.StabilityInferred;
import androidx.compose.runtime.internal.System_jvmKt;
import androidx.compose.runtime.internal.WeakReference;
import x4.AbstractC3250p;

/* JADX INFO: loaded from: classes.dex */
@StabilityInferred(parameters = 0)
public final class SnapshotWeakSet<T> {
    public static final int $stable = 8;
    private int size;
    private int[] hashes = new int[16];
    private WeakReference<T>[] values = new WeakReference[16];

    private final int find(T t6, int i6) {
        int i7 = this.size - 1;
        int i8 = 0;
        while (i8 <= i7) {
            int i9 = (i8 + i7) >>> 1;
            int i10 = this.hashes[i9];
            if (i10 < i6) {
                i8 = i9 + 1;
            } else {
                if (i10 <= i6) {
                    WeakReference<T> weakReference = this.values[i9];
                    return t6 == (weakReference != null ? weakReference.get() : null) ? i9 : findExactIndex(i9, t6, i6);
                }
                i7 = i9 - 1;
            }
        }
        return -(i8 + 1);
    }

    /* JADX WARN: Code restructure failed: missing block: B:14:0x001d, code lost:
    
        r4 = r4 + 1;
        r0 = r3.size;
     */
    /* JADX WARN: Code restructure failed: missing block: B:15:0x0021, code lost:
    
        if (r4 >= r0) goto L33;
     */
    /* JADX WARN: Code restructure failed: missing block: B:17:0x0027, code lost:
    
        if (r3.hashes[r4] == r6) goto L20;
     */
    /* JADX WARN: Code restructure failed: missing block: B:19:0x002c, code lost:
    
        return -(r4 + 1);
     */
    /* JADX WARN: Code restructure failed: missing block: B:20:0x002d, code lost:
    
        r2 = r3.values[r4];
     */
    /* JADX WARN: Code restructure failed: missing block: B:21:0x0031, code lost:
    
        if (r2 == null) goto L23;
     */
    /* JADX WARN: Code restructure failed: missing block: B:22:0x0033, code lost:
    
        r2 = r2.get();
     */
    /* JADX WARN: Code restructure failed: missing block: B:23:0x0038, code lost:
    
        r2 = null;
     */
    /* JADX WARN: Code restructure failed: missing block: B:24:0x0039, code lost:
    
        if (r2 != r5) goto L26;
     */
    /* JADX WARN: Code restructure failed: missing block: B:25:0x003b, code lost:
    
        return r4;
     */
    /* JADX WARN: Code restructure failed: missing block: B:26:0x003c, code lost:
    
        r4 = r4 + 1;
     */
    /* JADX WARN: Code restructure failed: missing block: B:27:0x003f, code lost:
    
        r4 = r3.size;
     */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    private final int findExactIndex(int i6, T t6, int i7) {
        int i8 = i6 - 1;
        while (true) {
            if (-1 >= i8 || this.hashes[i8] != i7) {
                break;
            }
            WeakReference<T> weakReference = this.values[i8];
            if ((weakReference != null ? weakReference.get() : null) == t6) {
                return i8;
            }
            i8--;
        }
    }

    public final boolean add(T t6) {
        int iFind;
        int i6 = this.size;
        int iIdentityHashCode = System_jvmKt.identityHashCode(t6);
        if (i6 > 0) {
            iFind = find(t6, iIdentityHashCode);
            if (iFind >= 0) {
                return false;
            }
        } else {
            iFind = -1;
        }
        int i7 = -(iFind + 1);
        WeakReference<T>[] weakReferenceArr = this.values;
        int length = weakReferenceArr.length;
        if (i6 == length) {
            int i8 = length * 2;
            WeakReference<T>[] weakReferenceArr2 = new WeakReference[i8];
            int[] iArr = new int[i8];
            int i9 = i7 + 1;
            System.arraycopy(weakReferenceArr, i7, weakReferenceArr2, i9, i6 - i7);
            System.arraycopy(this.values, 0, weakReferenceArr2, 0, i7);
            AbstractC3250p.x(i9, i7, i6, this.hashes, iArr);
            AbstractC3250p.C(0, i7, 6, this.hashes, iArr);
            this.values = weakReferenceArr2;
            this.hashes = iArr;
        } else {
            int i10 = i7 + 1;
            System.arraycopy(weakReferenceArr, i7, weakReferenceArr, i10, i6 - i7);
            int[] iArr2 = this.hashes;
            AbstractC3250p.x(i10, i7, i6, iArr2, iArr2);
        }
        this.values[i7] = new WeakReference<>(t6);
        this.hashes[i7] = iIdentityHashCode;
        this.size++;
        return true;
    }

    public final int[] getHashes$runtime() {
        return this.hashes;
    }

    public final int getSize$runtime() {
        return this.size;
    }

    public final WeakReference<T>[] getValues$runtime() {
        return this.values;
    }

    public final boolean isValid$runtime() {
        WeakReference<T> weakReference;
        int i6 = this.size;
        WeakReference<T>[] weakReferenceArr = this.values;
        int[] iArr = this.hashes;
        int length = weakReferenceArr.length;
        if (i6 > length) {
            return false;
        }
        int i7 = Integer.MIN_VALUE;
        int i8 = 0;
        while (i8 < i6) {
            int i9 = iArr[i8];
            if (i9 < i7 || (weakReference = weakReferenceArr[i8]) == null) {
                return false;
            }
            T t6 = weakReference.get();
            if (t6 != null && i9 != System_jvmKt.identityHashCode(t6)) {
                return false;
            }
            i8++;
            i7 = i9;
        }
        while (i6 < length) {
            if (iArr[i6] != 0 || weakReferenceArr[i6] != null) {
                return false;
            }
            i6++;
        }
        return true;
    }

    public final void removeIf(J4.c cVar) {
        int size$runtime = getSize$runtime();
        int i6 = 0;
        int i7 = 0;
        while (true) {
            if (i6 >= size$runtime) {
                break;
            }
            WeakReference<T> weakReference = getValues$runtime()[i6];
            T t6 = weakReference != null ? weakReference.get() : null;
            if (t6 != null && !((Boolean) cVar.invoke(t6)).booleanValue()) {
                if (i7 != i6) {
                    getValues$runtime()[i7] = weakReference;
                    getHashes$runtime()[i7] = getHashes$runtime()[i6];
                }
                i7++;
            }
            i6++;
        }
        for (int i8 = i7; i8 < size$runtime; i8++) {
            getValues$runtime()[i8] = null;
            getHashes$runtime()[i8] = 0;
        }
        if (i7 != size$runtime) {
            setSize$runtime(i7);
        }
    }

    public final void setHashes$runtime(int[] iArr) {
        this.hashes = iArr;
    }

    public final void setSize$runtime(int i6) {
        this.size = i6;
    }

    public final void setValues$runtime(WeakReference<T>[] weakReferenceArr) {
        this.values = weakReferenceArr;
    }
}
