3 ms·
How does this interact with classloading? My general impression is that the design of classloaders is pretty actively hostile to making JVM startup fast.
by haberman 10y ago
How does this interact with classloading?
My general impression is that the design of classloaders is pretty actively hostile to making JVM startup fast.
- qznc 10y agoYes it is. On the other hand, gcj still did it years ago. I guess some features like dynamic class loading are just not supported.
- the8472 10y agoAOT only applies to clases that have been AOT-compiled and are not transformed at runtime. Everything else will either still be need JITing or could potentially throw errors if pure AOT is desired. AOT and JIT are not mutually exclusive. From the proposal itself: > AOT libraries can be compiled in two modes: > Non-tiered AOT compiled code behaves similarly to statically compiled C++ code in that no profiling information is collected and no JIT recompilations will happen. > Tiered AOT compiled code does collect profiling information. The profiling done is the same as the simple profiling done by C1 methods compiled at Tier 2. If AOT methods hit the AOT invocation thresholds these methods are being recompiled by C1 at Tier 3 first in order to gather full profiling information. This is required for C2 JIT recompilations to be able to produce optimal code and reach peak application performance.