Grigorii Yurkov
05/16/2021, 11:43 AMNicholas Doglio
05/16/2021, 3:49 PMelizarov
05/17/2021, 5:53 AMdata
for?Grigorii Yurkov
05/17/2021, 7:07 AMdata
classes in our android project. Almost all classes are DTO. Most of them use data
to generate `equals`/`hashcode` others for copy
, other just to annotate that this is a class that contains only data, but barely anything for componentN
. The problem is data
classes generate n component methods, where n is fields count. This grows dex
files, because it has 64k limit (by the way our biggest data
class has 90!! fields). So I suppose this flag will optimize our big app.gildor
05/17/2021, 8:21 AMalex009
05/17/2021, 8:33 AMcomponentN
in all dataclasses which exported to swift... and here no any R8 😞gildor
05/17/2021, 8:35 AMalex009
05/17/2021, 8:54 AMcomponentN
functions by swift or not used - deployed only library with all public interface. and for developer experience of iOS developers this componentN
functions are bad.Grigorii Yurkov
05/17/2021, 8:54 AMinvokedynamic
like java doesgildor
05/17/2021, 9:07 AMgildor
05/17/2021, 9:10 AMgildor
05/17/2021, 9:10 AMGrigorii Yurkov
05/17/2021, 9:13 AMgildor
05/17/2021, 9:13 AMgildor
05/17/2021, 9:13 AMgildor
05/17/2021, 9:14 AMGrigorii Yurkov
05/17/2021, 9:14 AMgildor
05/17/2021, 9:15 AMGrigorii Yurkov
05/17/2021, 9:22 AMStringConcatFactory.makeConcatWithConstants
bootstrap method. But it was added in Java 9 and doesn't present in android. I am not following how it suppose to work. Am I wrong?gildor
05/17/2021, 9:30 AMI suppose this feature usesIt one of the options, another is makeConcat, but you right, it’s not a part of ART (at least old enough), but your code is passed through D8 anyway, so you can compile it to Java 9, it will use makeConcat, but it will be desugarred by d8 to some dalvik bytecodebootstrap methodStringConcatFactory.makeConcatWithConstants
gildor
05/17/2021, 9:31 AMinvokedynamic
like java does”Grigorii Yurkov
05/17/2021, 9:38 AMinvokedynamic StringConcatFactoy.makeConcat
instruction it may replace it with ordinary string concatenation without invokedynamic?gildor
05/17/2021, 9:38 AMGrigorii Yurkov
05/17/2021, 9:42 AMgildor
05/17/2021, 9:42 AM