到目前为止,HotSpot无法做到这一点。
如果未内联,则对于JIT编译器而言,方法调用通常是不透明的。很难进行跨方法的优化。原因之一是方法入口是易变的,即由于JIT编译,重新编译,反优化,JVMTI调用等,它可以在运行时同时更改。当HotSpot进行显式方法调用时,它不知道目标方法是被解释还是编译,是否收集JIT统计信息,是否正在调试,是否在内部具有断点或是否启用了JVMTI方法事件。
另一方面,即使存在这种优化,也不会太有用。纯方法的功能非常有限,因此它们通常简短而简单,并且有很多机会被内联。内联后,JIT在同一编译范围内进行优化要容易得多。



