如何禁用JIT编译器的内在函数用法?

我正在对JVM进行一些性能测试,我想测量内在函数使用的影响。

我想在不进入解释模式的情况下禁用JIT对某些方法使用内在函数。 有没有办法做到这一点 ? 谢谢

使用

 java -XX:+UnlockDiagnosticVMOptions -XX:DisableIntrinsic=_[,...] 

例如

 java -XX:+UnlockDiagnosticVMOptions -XX:DisableIntrinsic=_equals,_hashCode 

正如@apangin注意到的那样,您可以首先使用-XX:+PrintIntrinsics来查看哪些方法在测试中实际内在并且禁用它们。