(Slightly off-topic) My understanding was that HotSpot and other JITs are able to to profile-guided optimizations and the like (such as a polymorphic inline cache) to produce the best possible assembly. How does the assembly produced by these AOT compilers compare? Fast startup time and reduced memory footprint is great, but how will performance compare on compute-intensive workloads?
you can use profile guided optimisations when building a native image with GraalVM. You'll need to run your code in a special way under the desired load to gather the profile information, then it can be used when building the native image. YMMV, but the results can be quite interesting, here for example someone compiled http4s: https://twitter.com/lukasz_bialy/status/989091065033625606
If the open source project (CE) is under GPL, doesn't that restrict contributions from making it upstream to EE?