假设我们有3个方法:从方法1调用方法2,从方法2调用方法3。
方法2和方法3都有30条字节码。另外,为了明确起见,假设方法2总是从方法1恰好调用一次,方法3总是从方法2恰好调用一次。
如果首先内联方法2,则方法3将直接从方法1的主体中调用,并且可以依次内联。如果首先将方法3内联到方法2中,则后者的大小将变为大约60个字节码,并且无法内联,因为默认的MaxInlineSize阈值为35个字节码。
HotSpot JIT inline方法的顺序是自上而下还是自下而上?
如果首先内联方法2,则方法3将直接从方法1的主体中调用,并且可以依次内联。如果首先将方法3内联到方法2中,则后者的大小将变为大约60个字节码,并且无法内联,因为默认的MaxInlineSize阈值为35个字节码。
HotSpot JIT inline方法的顺序是自上而下还是自下而上?