[kotlin.reflect] Introduce ClassValue-based cache for KClassImpl
* Replace pcollections with ClassValue/ConcurrentHashMap-based caches * Do not store weak references, instead cache strong references and count on ClassValue to unload the corresponding classloader if necessary * ConcurrentHashMap does not rely on WeakReference as it's only selected on Android where classloader leaks don't exist * Update reflect/scripting JDK requirement to Java 8 in order to proceed #KT-53454 #KT-50705 Merge-request: KT-MR-6788 Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com>
This commit is contained in:
committed by
Space
parent
d5164fbc86
commit
14b13a2f17
@@ -25,13 +25,6 @@
|
||||
** toString();
|
||||
}
|
||||
|
||||
# For tests on HashPMap, see compiler/testData/codegen/box/hashPMap
|
||||
-keepclassmembers class kotlin.reflect.jvm.internal.pcollections.HashPMap {
|
||||
public int size();
|
||||
public boolean containsKey(java.lang.Object);
|
||||
public kotlin.reflect.jvm.internal.pcollections.HashPMap minus(java.lang.Object);
|
||||
}
|
||||
|
||||
# This is needed because otherwise ProGuard strips generic signature of this class (even though we pass `-keepattributes Signature` above)
|
||||
# See KT-23962 and https://sourceforge.net/p/proguard/bugs/482/
|
||||
-keep class kotlin.reflect.jvm.internal.impl.protobuf.GeneratedMessageLite$ExtendableMessageOrBuilder
|
||||
|
||||
Reference in New Issue
Block a user