我写了一个小的静态JNI函数,它只有5个指令长.JVM是否可以将此代码内联到一个经常调用它的方法体中,或者它总是call在JITed方法中生成一条指令?
例如:
public class SomeClass {
private static native long func();
public void doLoop() {
for(int i = 0; i < 0xFFFFFF; i++) {
func();
}
}
public static void main(String[] args) {
for(int i = 0; i < 0xFFFFFF; i++) {
doLoop();
}
}
}
Run Code Online (Sandbox Code Playgroud)
是否有可能为JVM内联的代码func进入doLoop,否则将只是其编译为call func