package kotlin.reflect.jvm.internal; import java.lang.ref.WeakReference; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import kotlin.Metadata; import kotlin.jvm.internal.Intrinsics; import kotlin.jvm.internal.SourceDebugExtension; import kotlin.reflect.jvm.internal.impl.descriptors.runtime.components.RuntimeModuleData; import kotlin.reflect.jvm.internal.impl.descriptors.runtime.structure.ReflectClassUtilKt; @Metadata(d1 = {"\u0000 \n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\u001a\b\u0010\u0005\u001a\u00020\u0006H\u0000\u001a\u0010\u0010\u0007\u001a\u00020\u0004*\u0006\u0012\u0002\b\u00030\bH\u0000\" \u0010\u0000\u001a\u0014\u0012\u0004\u0012\u00020\u0002\u0012\n\u0012\b\u0012\u0004\u0012\u00020\u00040\u00030\u0001X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\t"}, d2 = {"moduleByClassLoader", "Ljava/util/concurrent/ConcurrentMap;", "Lkotlin/reflect/jvm/internal/WeakClassLoaderBox;", "Ljava/lang/ref/WeakReference;", "Lkotlin/reflect/jvm/internal/impl/descriptors/runtime/components/RuntimeModuleData;", "clearModuleByClassLoaderCache", "", "getOrCreateModule", "Ljava/lang/Class;", "kotlin-reflection"}, k = 2, mv = {1, 9, 0}, xi = 48) @SourceDebugExtension({"SMAP\nmoduleByClassLoader.kt\nKotlin\n*S Kotlin\n*F\n+ 1 moduleByClassLoader.kt\nkotlin/reflect/jvm/internal/ModuleByClassLoaderKt\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,75:1\n1#2:76\n*E\n"}) /* loaded from: classes3.dex */ public final class ModuleByClassLoaderKt { private static final ConcurrentMap> moduleByClassLoader = new ConcurrentHashMap(); public static final void clearModuleByClassLoaderCache() { moduleByClassLoader.clear(); } public static final RuntimeModuleData getOrCreateModule(Class cls) { Intrinsics.checkNotNullParameter(cls, ""); ClassLoader safeClassLoader = ReflectClassUtilKt.getSafeClassLoader(cls); WeakClassLoaderBox weakClassLoaderBox = new WeakClassLoaderBox(safeClassLoader); ConcurrentMap> concurrentMap = moduleByClassLoader; WeakReference weakReference = concurrentMap.get(weakClassLoaderBox); if (weakReference != null) { RuntimeModuleData runtimeModuleData = weakReference.get(); if (runtimeModuleData != null) { return runtimeModuleData; } concurrentMap.remove(weakClassLoaderBox, weakReference); } RuntimeModuleData create = RuntimeModuleData.Companion.create(safeClassLoader); while (true) { try { ConcurrentMap> concurrentMap2 = moduleByClassLoader; WeakReference putIfAbsent = concurrentMap2.putIfAbsent(weakClassLoaderBox, new WeakReference<>(create)); if (putIfAbsent == null) { return create; } RuntimeModuleData runtimeModuleData2 = putIfAbsent.get(); if (runtimeModuleData2 != null) { return runtimeModuleData2; } concurrentMap2.remove(weakClassLoaderBox, putIfAbsent); } finally { weakClassLoaderBox.setTemporaryStrongRef(null); } } } }