
Escape Analysis and the Allocation That Never Happened
C2 can delete an object entirely by proving it never escapes. Here is when that works, when it silently stops, and how to measure the difference.
2 articles

C2 can delete an object entirely by proving it never escapes. Here is when that works, when it silently stops, and how to measure the difference.

Tiered compilation, on-stack replacement and inlining decide how your loop really runs. Here is how to read those decisions instead of guessing.