package kotlinx.serialization.json.internal;

import g.h.a.i;
import kotlin.Metadata;
import kotlin.Result;
import kotlin.collections.ArrayDeque;
import kotlin.jvm.internal.o;
import kotlin.text.j;

/* JADX INFO: loaded from: classes2.dex */
@Metadata(d1 = {"\u0000&\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\b\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\u0019\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\b\u0003\bÀ\u0002\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u000e\u0010\t\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\u0007J\u0006\u0010\f\u001a\u00020\u0007R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u0005\u001a\b\u0012\u0004\u0012\u00020\u00070\u0006X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\b\u001a\u00020\u0004X\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006\r"}, d2 = {"Lkotlinx/serialization/json/internal/CharArrayPool;", "", "()V", "MAX_CHARS_IN_POOL", "", "arrays", "Lkotlin/collections/ArrayDeque;", "", "charsTotal", "release", "", "array", "take", "kotlinx-serialization-json"}, k = 1, mv = {1, 7, 1}, xi = 48)
public final class CharArrayPool {
    private static final int MAX_CHARS_IN_POOL;
    private static int charsTotal;
    public static final CharArrayPool INSTANCE = new CharArrayPool();
    private static final ArrayDeque<char[]> arrays = new ArrayDeque<>();

    static {
        Object objQ0;
        try {
            String property = System.getProperty("kotlinx.serialization.json.pool.size");
            o.e(property, "getProperty(\"kotlinx.ser…lization.json.pool.size\")");
            objQ0 = j.U(property);
        } catch (Throwable th) {
            objQ0 = i.q0(th);
        }
        if (objQ0 instanceof Result.a) {
            objQ0 = null;
        }
        Integer num = (Integer) objQ0;
        MAX_CHARS_IN_POOL = num != null ? num.intValue() : 1048576;
    }

    private CharArrayPool() {
    }

    public final void release(char[] array) {
        o.f(array, "array");
        synchronized (this) {
            int i2 = charsTotal;
            if (array.length + i2 < MAX_CHARS_IN_POOL) {
                charsTotal = i2 + array.length;
                arrays.addLast(array);
            }
        }
    }

    public final char[] take() {
        char[] cArr;
        synchronized (this) {
            ArrayDeque<char[]> arrayDeque = arrays;
            cArr = null;
            char[] cArrRemoveLast = arrayDeque.isEmpty() ? null : arrayDeque.removeLast();
            if (cArrRemoveLast != null) {
                charsTotal -= cArrRemoveLast.length;
                cArr = cArrRemoveLast;
            }
        }
        return cArr == null ? new char[128] : cArr;
    }
}
