From 1fd0e5e50c52cd6c2a0626f2b7fdd737a2ea3a1e Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Fri, 15 Dec 2017 02:34:25 +0300 Subject: [PATCH] Optimize serializing JS metadata This makes JS IC tests twice as fast --- .../serialization/js/KotlinJavascriptSerializationUtil.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializationUtil.kt b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializationUtil.kt index 82843ce8b24..d7e9ee8c929 100644 --- a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializationUtil.kt +++ b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializationUtil.kt @@ -28,6 +28,7 @@ import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.protobuf.CodedInputStream import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.DescriptorUtils +import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.MemberScope import org.jetbrains.kotlin.serialization.AnnotationSerializer @@ -151,7 +152,7 @@ object KotlinJavascriptSerializationUtil { val serializerExtension = KotlinJavascriptSerializerExtension(fileRegistry) val serializer = DescriptorSerializer.createTopLevel(serializerExtension) - val classDescriptors = DescriptorSerializer.sort(scope).filterIsInstance() + val classDescriptors = scope.filterIsInstance().sortedBy { it.fqNameSafe.asString() } fun serializeClasses(descriptors: Collection) { fun serializeClass(classDescriptor: ClassDescriptor) {