Hacker News new | ask | show | jobs
by pjmlp 1327 days ago
The problem with deoptimization is the performance hit every time it takes place, which leads to a saw graph similar to when there is too much GC going on.
1 comments

Sure, but class loading only changes assumptions in one direction for example — in the aforementioned example it would cause only one deoptimization after which the code won’t be worse off than the AOT compiled one. So the JIT case before class load may perform better, and afterwards will perform the same.
Classes can also be unloaded.

What JIT does definitely better is when coupled with PGO data that survives between execution sessions.