ursus
02/06/2023, 11:58 PMjvmTarget
should I use? Is there anything to gain when bumping ˙1.8` to 11
, when java language features are irrelevant to me?
Performance?ephemient
02/07/2023, 1:43 AMephemient
02/07/2023, 1:48 AMephemient
02/07/2023, 1:52 AMursus
02/07/2023, 1:52 AMephemient
02/07/2023, 1:53 AMursus
02/07/2023, 1:54 AMephemient
02/07/2023, 1:55 AMephemient
02/07/2023, 1:56 AMursus
02/07/2023, 1:59 AMursus
02/07/2023, 2:00 AMephemient
02/07/2023, 2:02 AMursus
02/07/2023, 2:02 AMephemient
02/07/2023, 2:02 AMephemient
02/07/2023, 2:03 AMursus
02/07/2023, 2:04 AMephemient
02/07/2023, 2:04 AMursus
02/07/2023, 2:05 AMephemient
02/07/2023, 2:05 AMephemient
02/07/2023, 2:06 AMursus
02/07/2023, 2:07 AMephemient
02/07/2023, 2:07 AMursus
02/07/2023, 2:08 AMursus
02/07/2023, 2:08 AMephemient
02/07/2023, 2:08 AMursus
02/07/2023, 2:09 AMursus
02/07/2023, 2:09 AMursus
02/07/2023, 2:10 AMephemient
02/07/2023, 2:15 AMephemient
02/07/2023, 2:16 AMursus
02/07/2023, 2:20 AMephemient
02/07/2023, 2:22 AMjw
02/07/2023, 3:38 AMin Android terms, you can't use invoke-dynamic if you have minSdk<26; if your code does, D8 will desugar it back to classesAndroid does not ship LambdaMetaFactory. Even if you have min API 33 you get lambdas desugared to classes at dexing time.
jw
02/07/2023, 3:43 AMso would you say the reason to increase the jvm target just academic, as to "move the industry forward" and not depend on EOL software?yes. there's no reason to do this in this specific instance.
ephemient
02/07/2023, 4:02 AMAndroid does not ship LambdaMetaFactory. Even if you have min API 33 you get lambdas desugared to classes at dexing time.oh, I saw https://cs.android.com/android/platform/superproject/+/master:libcore/ojluni/src/lambda/java/java/lang/invoke/LambdaMetafactory.java but I never checked if it's actually on device
ursus
02/07/2023, 4:06 AMjw
02/07/2023, 4:07 AMursus
02/07/2023, 4:08 AMjw
02/07/2023, 4:08 AMjw
02/07/2023, 4:08 AMephemient
02/07/2023, 4:08 AMursus
02/07/2023, 4:13 AMephemient
02/07/2023, 4:17 AMephemient
02/07/2023, 4:18 AMjw
02/07/2023, 4:18 AMursus
02/07/2023, 4:19 AManyhow, in my projects, I find the biggest reason to bump JVM targets is when dependencies do
java source dependency, right? kotlin doesnt really care right?
ephemient
02/07/2023, 4:20 AMinline fun
jw
02/07/2023, 4:20 AMursus
02/07/2023, 4:24 AMursus
02/07/2023, 4:25 AMjw
02/07/2023, 4:25 AMkotlinc
won't even emit Java 6 bytecode anymore and neither will javac
ursus
02/07/2023, 4:27 AMjw
02/07/2023, 4:28 AMjavac
stopped supporting different source and target versions in... Java 6? They have to match now.ursus
02/07/2023, 4:28 AMjw
02/07/2023, 4:28 AMjavac
. Since Java 9 there's a -release
flag which sets the bootstrap classpath (basically the built-in APIs), the source, and the target with a single numberjw
02/07/2023, 4:29 AMjavac
to cross-compile to other versions. The latest, 19, supports 8-19jw
02/07/2023, 4:29 AMephemient
02/07/2023, 4:31 AM-Xjdk-release
(but neither it nor --release
are relevant for Android since it's not using the JDK's classpath anyway)ursus
02/07/2023, 4:32 AMcompileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
jw
02/07/2023, 4:33 AMjw
02/07/2023, 4:33 AM-release
and so you still have to set source/targetjw
02/07/2023, 4:33 AM-release
ursus
02/07/2023, 4:36 AMursus
02/07/2023, 4:37 AMjw
02/07/2023, 4:38 AMursus
02/07/2023, 4:39 AMjw
02/07/2023, 4:39 AMursus
02/07/2023, 4:39 AMjw
02/07/2023, 4:39 AMursus
02/07/2023, 4:41 AMursus
02/07/2023, 4:41 AMursus
02/07/2023, 4:42 AMursus
02/07/2023, 4:43 AMephemient
02/07/2023, 4:43 AMursus
02/07/2023, 4:43 AMursus
02/07/2023, 4:44 AMephemient
02/07/2023, 4:44 AMjw
02/07/2023, 4:44 AMjw
02/07/2023, 4:44 AMephemient
02/07/2023, 4:44 AMursus
02/07/2023, 4:46 AMephemient
02/07/2023, 4:47 AMursus
02/07/2023, 4:48 AMursus
02/07/2023, 4:50 AMephemient
02/07/2023, 4:52 AMjw
02/07/2023, 4:53 AMursus
02/07/2023, 4:55 AMjw
02/07/2023, 4:55 AMephemient
02/07/2023, 4:58 AMursus
02/07/2023, 5:02 AMjw
02/07/2023, 5:03 AMursus
02/07/2023, 5:04 AMjw
02/07/2023, 5:05 AMursus
02/07/2023, 5:05 AMjw
02/07/2023, 5:06 AMursus
02/07/2023, 5:08 AMephemient
02/07/2023, 5:10 AMursus
02/07/2023, 5:10 AMursus
02/07/2023, 5:10 AMursus
02/07/2023, 5:12 AMursus
02/08/2023, 9:14 PMephemient
02/08/2023, 10:23 PMephemient
02/08/2023, 10:25 PMursus
02/09/2023, 12:05 AMjw
02/09/2023, 12:06 AMursus
02/09/2023, 12:07 AMephemient
02/09/2023, 12:07 AMursus
02/09/2023, 12:11 AMursus
02/09/2023, 12:11 AMephemient
02/09/2023, 12:16 AMursus
02/09/2023, 12:23 AMursus
02/09/2023, 12:24 AMinvoke dynamic
is unknown to ART?ursus
02/09/2023, 12:26 AMephemient
02/09/2023, 12:26 AMursus
02/09/2023, 12:28 AMephemient
02/09/2023, 12:29 AMursus
02/09/2023, 12:31 AMephemient
02/09/2023, 12:31 AMursus
02/09/2023, 12:32 AMursus
02/09/2023, 12:33 AMephemient
02/09/2023, 12:34 AMursus
02/09/2023, 12:34 AMursus
02/09/2023, 1:26 AMinvokedynamic
at all? I'm hearing conflicting thingsjw
02/09/2023, 1:27 AMjw
02/09/2023, 1:27 AMursus
02/09/2023, 1:30 AMjw
02/09/2023, 1:31 AMjw
02/09/2023, 1:31 AMursus
02/09/2023, 1:32 AMursus
02/09/2023, 1:34 AMjw
02/09/2023, 1:35 AMjw
02/09/2023, 1:35 AMursus
02/09/2023, 1:36 AMjw
02/09/2023, 1:37 AMursus
02/09/2023, 1:39 AMursus
02/09/2023, 1:41 AMjw
02/09/2023, 1:41 AMursus
02/09/2023, 1:42 AMursus
02/09/2023, 1:42 AM