From bf62e98a1a2a07aafb22d2ed5d1d3e0ae507d4fc Mon Sep 17 00:00:00 2001 From: Georgy Bronnikov Date: Mon, 6 Sep 2021 12:58:09 +0300 Subject: [PATCH] JVM_IR: protect LookupTracker use by a lock --- .../codegen/inline/SourceCompilerForInline.kt | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SourceCompilerForInline.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SourceCompilerForInline.kt index 248d89b749b..01be5cee076 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SourceCompilerForInline.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SourceCompilerForInline.kt @@ -69,13 +69,15 @@ interface SourceCompilerForInline { fun GenerationState.trackLookup(container: FqName, functionName: String, location: LocationInfo) { val lookupTracker = configuration.get(CommonConfigurationKeys.LOOKUP_TRACKER) ?: return - lookupTracker.record( - location.filePath, - if (lookupTracker.requiresPosition) location.position else Position.NO_POSITION, - container.asString(), - ScopeKind.CLASSIFIER, - functionName - ) + synchronized(lookupTracker) { + lookupTracker.record( + location.filePath, + if (lookupTracker.requiresPosition) location.position else Position.NO_POSITION, + container.asString(), + ScopeKind.CLASSIFIER, + functionName + ) + } } fun loadCompiledInlineFunction(