What is the difference between switch --compile=yes & --compile=all for AOT?

--compile=no turns off the JIT compiler (on 0.6 you then get an error if a method is not available in the system image, on 0.7 it’ll run in the interpreter)
--compile=yes is the default
--compile=all is a more-agressive version of --compile=yes, that also compiles a bunch of fallbacks and specializations you didn’t call (and if you’re building a system image thus get cached as a result). Thus --compile=all is useful to build a system image that will later be used with --compile=no (like in an AOT compile).

5 Likes