我在Java应用程序中遇到问题,JIT破坏了代码。如果我禁用JIT,一切正常,但运行速度慢10-20倍。
有没有办法为特定方法或类禁用JIT?
编辑: 我正在使用Ubuntu 10.10,得到相同的结果:
OpenJDK Runtime Environment (IcedTea6 1.9) (6b20-1.9-0ubuntu1)
OpenJDK 64-Bit Server VM (build 17.0-b16, mixed mode)
和
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)
答案 0 :(得分:8)
以下选项适用于我的JVM,以排除特定方法:
-X:CompileCommand=exclude,the/package/and/Class,methodName
答案 1 :(得分:6)
是的,有一个。 您可以在启动时提供要排除JIT编译的受影响的类:
-Xjit:exclude={package/class.method|package/class.method}