package androidx.compose.runtime.internal;

/* JADX INFO: loaded from: classes.dex */
@StabilityInferred(parameters = 0)
public final class ThreadMap {
    public static final int $stable = 8;
    private final long[] keys;
    private final int size;
    private final Object[] values;

    public ThreadMap(int i6, long[] jArr, Object[] objArr) {
        this.size = i6;
        this.keys = jArr;
        this.values = objArr;
    }

    private final int find(long j4) {
        int i6 = this.size - 1;
        if (i6 != -1) {
            int i7 = 0;
            if (i6 != 0) {
                while (i7 <= i6) {
                    int i8 = (i7 + i6) >>> 1;
                    long j6 = this.keys[i8] - j4;
                    if (j6 < 0) {
                        i7 = i8 + 1;
                    } else {
                        if (j6 <= 0) {
                            return i8;
                        }
                        i6 = i8 - 1;
                    }
                }
                return -(i7 + 1);
            }
            long j7 = this.keys[0];
            if (j7 == j4) {
                return 0;
            }
            if (j7 > j4) {
                return -2;
            }
        }
        return -1;
    }

    public final Object get(long j4) {
        int iFind = find(j4);
        if (iFind >= 0) {
            return this.values[iFind];
        }
        return null;
    }

    public final ThreadMap newWith(long j4, Object obj) {
        int i6 = this.size;
        int i7 = 0;
        int i8 = 0;
        for (Object obj2 : this.values) {
            if (obj2 != null) {
                i8++;
            }
        }
        int i9 = i8 + 1;
        long[] jArr = new long[i9];
        Object[] objArr = new Object[i9];
        if (i9 > 1) {
            int i10 = 0;
            while (true) {
                if (i7 >= i9 || i10 >= i6) {
                    break;
                }
                long j6 = this.keys[i10];
                Object obj3 = this.values[i10];
                if (j6 > j4) {
                    jArr[i7] = j4;
                    objArr[i7] = obj;
                    i7++;
                    break;
                }
                if (obj3 != null) {
                    jArr[i7] = j6;
                    objArr[i7] = obj3;
                    i7++;
                }
                i10++;
            }
            if (i10 == i6) {
                jArr[i8] = j4;
                objArr[i8] = obj;
            } else {
                while (i7 < i9) {
                    long j7 = this.keys[i10];
                    Object obj4 = this.values[i10];
                    if (obj4 != null) {
                        jArr[i7] = j7;
                        objArr[i7] = obj4;
                        i7++;
                    }
                    i10++;
                }
            }
        } else {
            jArr[0] = j4;
            objArr[0] = obj;
        }
        return new ThreadMap(i9, jArr, objArr);
    }

    public final boolean trySet(long j4, Object obj) {
        int iFind = find(j4);
        if (iFind < 0) {
            return false;
        }
        this.values[iFind] = obj;
        return true;
    }
}
