[JS IC] Don't persist temporary copies of inline functions

- drop special `IrValueParameterPublicSymbol`
 - drop special `IrAnonymousInitializerPublicSymbolImpl`
 - drop hacky `useGlobalSignatures`
This commit is contained in:
Roman Artemev
2021-07-28 20:25:56 +03:00
committed by teamcityserver
parent b1251c1716
commit b1eeb1fb27
10 changed files with 77 additions and 52 deletions
@@ -35,7 +35,6 @@ class IcFileDeserializer(
allowErrorNodes: Boolean,
deserializeInlineFunctions: Boolean,
val moduleDeserializer: IrModuleDeserializer,
useGlobalSignatures: Boolean,
val handleNoModuleDeserializerFound: (IdSignature, ModuleDescriptor, Collection<IrModuleDeserializer>) -> IrModuleDeserializer,
val originalEnqueue: IdSignature.(IcFileDeserializer) -> Unit,
val icFileData: SerializedIcDataForFile,
@@ -56,7 +55,6 @@ class IcFileDeserializer(
}
},
linker::handleExpectActualMapping,
useGlobalSignatures = useGlobalSignatures,
enqueueAllDeclarations = true,
deserializePublicSymbol = ::deserializeOriginalPublicSymbol,
)
@@ -151,7 +149,6 @@ class IcFileDeserializer(
{ idSig -> idSig.enqueue(this) },
{ _, s -> s },
enqueueAllDeclarations = true,
useGlobalSignatures = true,
deserializedSymbols = originalFileDeserializer.symbolDeserializer.deserializedSymbols,
::deserializePublicSymbol
)
@@ -33,7 +33,6 @@ class IcModuleDeserializer(
override val klib: IrLibrary,
override val strategy: DeserializationStrategy,
private val containsErrorCode: Boolean = false,
private val useGlobalSignatures: Boolean = false,
) : IrModuleDeserializer(moduleDescriptor, KotlinAbiVersion.CURRENT) {
private val fileToDeserializerMap = mutableMapOf<IrFile, IrFileDeserializer>()
@@ -145,7 +144,6 @@ class IcModuleDeserializer(
allowErrorNodes,
strategy.inlineBodies,
moduleDeserializer,
useGlobalSignatures,
linker::handleNoModuleDeserializerFound,
{ fileDeserializer -> originalEnqueue(fileDeserializer) },
icFileData,
@@ -290,8 +290,7 @@ fun loadIr(
symbolTable,
feContext,
null,
depsDescriptors.loweredIcData,
loweringsCacheProvider != null
depsDescriptors.loweredIcData
)
val deserializedModuleFragments = sortDependencies(allDependencies, depsDescriptors.descriptors).map { klib ->
irLinker.deserializeIrModuleHeader(
@@ -359,8 +358,7 @@ fun loadIr(
symbolTable,
null,
null,
loweredIcData,
loweringsCacheProvider != null
loweredIcData
)
val moduleFragmentToUniqueName = mutableMapOf<IrModuleFragment, String>()
@@ -30,7 +30,6 @@ class JsIrLinker(
override val translationPluginContext: TranslationPluginContext?,
private val icData: ICData? = null,
private val loweredIcData: Map<ModuleDescriptor, SerializedIcData> = emptyMap(),
private val useGlobalSignatures: Boolean = false,
) : KotlinIrLinker(currentModule, messageLogger, builtIns, symbolTable, emptyList()) {
override val fakeOverrideBuilder = FakeOverrideBuilder(this, symbolTable, JsManglerIr, IrTypeSystemContextImpl(builtIns))
@@ -53,7 +52,6 @@ class JsIrLinker(
klib,
strategy,
containsErrorCode = klib.libContainsErrorCode,
useGlobalSignatures = useGlobalSignatures
)
}
return JsModuleDeserializer(moduleDescriptor, klib, strategy, klib.versions.abiVersion ?: KotlinAbiVersion.CURRENT, klib.libContainsErrorCode)
@@ -62,7 +60,7 @@ class JsIrLinker(
val mapping: JsMapping by lazy { JsMapping(symbolTable.irFactory) }
private inner class JsModuleDeserializer(moduleDescriptor: ModuleDescriptor, klib: IrLibrary, strategy: DeserializationStrategy, libraryAbiVersion: KotlinAbiVersion, allowErrorCode: Boolean) :
BasicIrModuleDeserializer(this, moduleDescriptor, klib, strategy, libraryAbiVersion, allowErrorCode, useGlobalSignatures)
BasicIrModuleDeserializer(this, moduleDescriptor, klib, strategy, libraryAbiVersion, allowErrorCode)
override fun maybeWrapWithBuiltInAndInit(
moduleDescriptor: ModuleDescriptor,