rra/ilgonmic/reducing-size
[JS IR] Fix review remarks - Fix translation mode from flags calculation - comment why not top level could be safely inlined [JS IR] Add test on exportness of internal val Revert "[Gradle, JS] Disable minimizing names in production by default" This reverts commit 700ff8634a73f155a2f0eaf963778216d6877075. [JS IR] Adopt reserved names Revert "[JS IR] Reserve interop names" This reverts commit 63f30becaf1a45750ff85aea3753aae9a85985f4. Revert "[JS IR] Clear minimized namer states" This reverts commit ef7f19fa8a928021e8bdfbee7fbb5285fc74b7ab. [JS IR] Clear minimized namer states [JS IR] Reserve interop names [JS IR] Separate arguments for users [JS IR] Minimized member names in tests [Gradle, JS] Disable minimizing names in production by default [JS IR] Fix extra helps [JS IR] Move mangling of signatures to linking namer [JS IR] Add key and minimized name generator [JS IR] cross module dependencies minimized [JS IR] Minimize names [JS IR] Cross module by index [JS IR] Fix warning [JS IR] Fix inlining accessors [JS IR] Bridges for property accessors [JS IR] Special case of jsFunctionSignature with property accessors [JS IR] Inline property accessor for non top level properties [JS IR] Reduce crossModule size Merge-request: KT-MR-5785 Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com> ^KT-51735 fixed ^KT-50504 fixed
This commit is contained in:
@@ -76,9 +76,9 @@ abstract class AbstractJsKLibABITestCase : AbstractKlibABITestCase() {
|
||||
relativeRequirePath = false
|
||||
)
|
||||
|
||||
val compiledResult = transformer.generateModule(ir.allModules, setOf(TranslationMode.FULL_DCE))
|
||||
val compiledResult = transformer.generateModule(ir.allModules, setOf(TranslationMode.FULL_DCE_MINIMIZED_NAMES))
|
||||
|
||||
val dceOutput = compiledResult.outputs[TranslationMode.FULL_DCE] ?: error("No DCE output")
|
||||
val dceOutput = compiledResult.outputs[TranslationMode.FULL_DCE_MINIMIZED_NAMES] ?: error("No DCE output")
|
||||
|
||||
val binariesDir = File(buildDir, BIN_DIR_NAME).also { it.mkdirs() }
|
||||
|
||||
|
||||
@@ -160,7 +160,7 @@ class JsIrBackendFacade(
|
||||
val perModuleOnly = JsEnvironmentConfigurationDirectives.SPLIT_PER_MODULE in module.directives
|
||||
|
||||
val outputFile = File(JsEnvironmentConfigurator.getJsModuleArtifactPath(testServices, module.name, TranslationMode.FULL) + ".js")
|
||||
val dceOutputFile = File(JsEnvironmentConfigurator.getJsModuleArtifactPath(testServices, module.name, TranslationMode.FULL_DCE) + ".js")
|
||||
val dceOutputFile = File(JsEnvironmentConfigurator.getJsModuleArtifactPath(testServices, module.name, TranslationMode.FULL_DCE_MINIMIZED_NAMES) + ".js")
|
||||
if (!esModules) {
|
||||
if (runNewIr2Js) {
|
||||
val transformer = IrModuleToJsTransformerTmp(
|
||||
@@ -172,7 +172,10 @@ class JsIrBackendFacade(
|
||||
// If runIrDce then include DCE results
|
||||
// If perModuleOnly then skip whole program
|
||||
// (it.dce => runIrDce) && (perModuleOnly => it.perModule)
|
||||
val translationModes = TranslationMode.values().filter { (!it.dce || runIrDce) && (!perModuleOnly || it.perModule) }.toSet()
|
||||
val translationModes = TranslationMode.values()
|
||||
.filter { (!it.dce || runIrDce) && (!perModuleOnly || it.perModule) }
|
||||
.filter { it.dce == it.minimizedMemberNames }
|
||||
.toSet()
|
||||
return BinaryArtifacts.Js.JsIrArtifact(outputFile, transformer.generateModule(loweredIr.allModules, translationModes)).dump(module)
|
||||
} else {
|
||||
val transformer = IrModuleToJsTransformer(
|
||||
|
||||
@@ -39,9 +39,9 @@ class JsArtifactsDumpHandler(testServices: TestServices) : AfterAnalysisChecker(
|
||||
val minOutputDir = File(dceOutputDir, originalFile.nameWithoutExtension)
|
||||
|
||||
copy(JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices), outputDir)
|
||||
copy(JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.FULL_DCE), dceOutputDir)
|
||||
copy(JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.FULL_DCE_MINIMIZED_NAMES), dceOutputDir)
|
||||
copy(JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.PER_MODULE), perModuleOutputDir)
|
||||
copy(JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.PER_MODULE_DCE), preModuleDceOutputDir)
|
||||
copy(JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.PER_MODULE_DCE_MINIMIZED_NAMES), preModuleDceOutputDir)
|
||||
copy(JsEnvironmentConfigurator.getMinificationJsArtifactsOutputDir(testServices), minOutputDir)
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ class JsBoxRunner(testServices: TestServices) : AbstractJsArtifactsCollector(tes
|
||||
val globalDirectives = testServices.moduleStructure.allDirectives
|
||||
|
||||
val esmOutputDir = JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices).esModulesSubDir
|
||||
val esmDceOutputDir = JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.FULL_DCE).esModulesSubDir
|
||||
val esmDceOutputDir = JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.FULL_DCE_MINIMIZED_NAMES).esModulesSubDir
|
||||
|
||||
val dontSkipRegularMode = JsEnvironmentConfigurationDirectives.SKIP_REGULAR_MODE !in globalDirectives
|
||||
val runIrDce = JsEnvironmentConfigurationDirectives.RUN_IR_DCE in globalDirectives
|
||||
|
||||
@@ -129,7 +129,7 @@ fun getAllFilesForRunner(
|
||||
} else {
|
||||
// Old BE and ES modules
|
||||
val outputDir = JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices)
|
||||
val dceOutputDir = JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.FULL_DCE)
|
||||
val dceOutputDir = JsEnvironmentConfigurator.getJsArtifactsOutputDir(testServices, TranslationMode.FULL_DCE_MINIMIZED_NAMES)
|
||||
|
||||
val artifactsPaths = modulesToArtifact.values.map { it.outputFile.absolutePath }.filter { !File(it).isDirectory }
|
||||
val allJsFiles = additionalFiles + inputJsFilesBefore +artifactsPaths + commonFiles + additionalMainFiles + inputJsFilesAfter
|
||||
@@ -141,7 +141,7 @@ fun getAllFilesForRunner(
|
||||
if (runIrDce) {
|
||||
val dceJsFiles = artifactsPaths.map { it.replace(outputDir.absolutePath, dceOutputDir.absolutePath) }
|
||||
val dceAllJsFiles = additionalFiles + inputJsFilesBefore + dceJsFiles + commonFiles + additionalMainFiles + inputJsFilesAfter
|
||||
result[TranslationMode.FULL_DCE] = dceAllJsFiles
|
||||
result[TranslationMode.FULL_DCE_MINIMIZED_NAMES] = dceAllJsFiles
|
||||
}
|
||||
|
||||
return result
|
||||
|
||||
Reference in New Issue
Block a user