23 Commits

Author SHA1 Message Date
kevinjeon-g
ffaf897823 Update dex2oat versions (35.13, 35.14, android 16) (#8027) 2025-08-14 10:11:11 -05:00
kevinjeon-g
327e0a3383 Update dex2oat latest name (#7538) 2025-04-09 01:06:53 +00:00
kevinjeon-g
8a0a6e93da Use Java 22 for latest Android compilers (#7388)
This change updates the Java version used for R8/D8/dex2oat latest to
the most recent Java version available to help investigate newer Java
features.
2025-02-12 13:19:13 -06:00
kevinjeon-g
a601403657 Add R8/D8 latest for Android (#7333)
This also updates dex2oat latest to use d8-latest as the intermediate
compilation.
2025-01-29 14:12:55 -06:00
kevinjeon-g
255017fd72 Update Android compilers (#7294)
This change adds recent ART mainline releases (version 35) and R8
versions (8.6, 8.7).
2025-01-24 11:24:24 -06:00
kevinjeon-g
6296e9064d Support OpenJDK output for Android Java (#7122)
This change adds OpenJDK as an output compiler for Android Java,
beginning with 11.0.2. This change also updates java.ts to allow for
input libraries, by parsing library paths and passing them into the
javac invocation as '-cp \<path\>:\<path\>:...'.

This is intended to simplify the process of inspecting javac output when
Android Java is already selected so that a user doesn't have to switch
to the Java compiler option. This also allows a user to view javac
output with Android libraries.
2024-12-04 19:11:11 +09:00
kevinjeon-g
ca568c7361 Add support for the androidx.annotation library (#7125) 2024-11-26 18:46:19 -06:00
Mark Hansen
9a1eb76d54 Add a new dex instruction set (#6820)
And use it for Android d8 compiler.

It's empty for now. But it lets you filter in the compiler pop out box.
And it may let us attach hover assembly documentation later.

I've left it empty in `lib/instructionsets.ts` like `java` is, which I'm
modelling this off.

Towards #6819
2024-09-06 17:20:40 -05:00
Mark Hansen
6ffa26d310 Specify dex2oat's output instruction set is aarch64 (#6808) 2024-09-02 22:34:35 +02:00
kevinjeon-g
64e1febc88 Add new keepanno libraries for Android R8 (#6784) 2024-08-22 12:09:21 -05:00
kevinjeon-g
01d6e17333 Add new R8 and ART versions (#6783)
This change adds newer R8 versions (8.5.10, 8.5.27, 8.5.35) and ART
dex2oat versions (34.17, 34.18) for Android Java/Kotlin. This should be
submitted after:
- https://github.com/compiler-explorer/infra/pull/1392
- https://github.com/compiler-explorer/infra/pull/1394
2024-08-22 10:39:27 -05:00
kevinjeon-g
1c051bd479 Add R8 for Android (#6591)
R8 is a whole-program optimizer that converts Java byte code to
optimized dex code. It can be run with the same general steps (and JAR)
as the existing D8 compiler.

This change adds R8Compiler and the R8 keep-annotation library it relies
on, makes this lib + Android API stubs default libraries for Android
Java/Kotlin, and includes a small update to allow older versions of
dex2oat (33.10) to run.

https://r8.googlesource.com/r8
2024-06-25 18:43:02 -05:00
kevinjeon-g
b6a13df431 Update Android compilers (D8, dex2oat) (#6506)
D8: 8.2.47, 8.3.36, 8.3.37
dex2oat: 34.13, 34.14, 34.15, 34.16
2024-06-07 20:37:30 -05:00
kevinjeon-g
bf91208c97 Support Android API stubs (#6514)
Updates the d8 and dex2oat compiler implementations so that android.jar
is included in the classpath for javac/kotlinc.
2024-06-07 19:18:46 -05:00
kevinjeon-g
b94781ab48 Add profile support for dex2oat. (#6382)
dex2oat supports profile-guided compilation. In addition to taking dex
code as an input, it can take a profile as another input, to guide the
compilation. The profile determines which methods need to be compiled,
how calls can be inlined, and so on.

Because Compiler Explorer doesn't support multiple input files, the
profile is added as a comment block in the Java/Kotlin source code. A
post-processor extracts the profile from the comment block into a
separate file, in order to input it to dex2oat.
2024-04-29 20:17:24 -05:00
kevinjeon-g
137ed94704 Simplify Android compiler properties (#6334)
updates intermediate compiler exe input to refer to the compiler's
getInfo().exe so that paths don't need to be hardcoded in properties.
2024-04-13 10:35:21 -05:00
kevinjeon-g
5cabe8af72 Update dex2oat (34.11) (#6174) 2024-02-24 19:11:26 +01:00
kevinjeon-g
e5313c77f9 Update D8 versions (up to 8.2.42) (#6138)
This change adds recent D8 versions (8.1.72, 8.2.33, 8.2.42). Properties
for D8 have been reformatted to use groups in order to avoid duplication
of java/kotlin references.
2024-02-19 17:56:47 -06:00
Patrick Quist
3ea8205fb6 mark dex2oat latest as nightly 2024-01-24 14:07:30 +01:00
kevinjeon-g
6c31805a94 Add artArtifactDir to Android config files (#6011)
This was present in the default properties files for android-java and
android-kotlin but missing for the amazon properties files.
2024-01-16 22:12:35 -06:00
kevinjeon-g
2f6a7328b2 Add support for dex2oat (latest) (#5916)
Adds Dex2OatCompiler, which applies to the Android Java and Android
Kotlin languages. Dex2OatCompiler runs on .dex files output by
D8Compiler, which in turn runs on .class files output by JavaCompiler or
KotlinCompiler. A parser has been added for dex2oat optimization passes.
2024-01-15 15:15:05 -06:00
Patrick Quist
6579ff999b fix android-d8 compiler ids (#5931) 2024-01-01 20:56:36 +01:00
kevinjeon-g
7efe253f5f Add support for Android D8 (8.1.56) (#5756)
Adds D8Compiler, which applies to the Android Java and Android Kotlin
languages. D8Compiler instantiates a JavaCompiler or KotlinCompiler
using the java/kotlin dependencies' paths for D8 in the infra repo.

compiler-finder.ts has been updated to allow for duplicate compiler IDs
for 'android-java' and 'android-kotlin', as it is expected that the
compilers used for these languages is the same.
2023-12-04 19:35:56 -06:00