diff --git a/compiler/container/src/org/jetbrains/kotlin/container/Cache.kt b/compiler/container/src/org/jetbrains/kotlin/container/Cache.kt index d79acc977ab..0ce45792cee 100644 --- a/compiler/container/src/org/jetbrains/kotlin/container/Cache.kt +++ b/compiler/container/src/org/jetbrains/kotlin/container/Cache.kt @@ -21,7 +21,9 @@ import java.lang.reflect.* import java.util.* private object ClassTraversalCache { - private val cache = ContainerUtil.newConcurrentMap, ClassInfo>() + private val cache = + if (System.getProperty("idea.system.path") != null) ContainerUtil.newConcurrentMap, ClassInfo>() + else ContainerUtil.createConcurrentWeakKeySoftValueMap, ClassInfo>() fun getClassInfo(c: Class<*>): ClassInfo { val classInfo = cache.get(c)