https://www.jianshu.com/p/22d2cac9c512
方法内联指的是在即时编译过程中遇到方法调用时,直接编译目标方法的方法体,并替换原方法调用。
注:
内联也可以表述成2个IR图的融合,在该过程中,有一些要点值得注意。
内联越多,生成代码的效率越高,编译时间越长,峰值性能的到达时间越晚;内联越多,机器码越长,当超过阈值(-XX:ReservedCodeCacheSize),即时编译将关闭。触发和不触发方法内联遵从一定的规则。
触发方法内联的规则
不触发方法内联的规则
其他影响是否方法内联的因素
总结
即时编译器中的内联算法更青睐于小的方法。