Отключить Java JIT для определенного метода / класса?
у меня проблема в моем приложении Java, где JIT ломает код. Если я отключу JIT, все работает нормально, но работает 10-20x медленнее.
есть ли способ отключить 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)
2 ответов
Да, есть одна. Вы можете указать затронутые классы, которые вы хотите исключить компиляцию JIT при запуске:
-Xjit:exclude={package/class.method|package/class.method}
следующая опция работает на моей JVMs, чтобы исключить определенный метод:
-X:CompileCommand=exclude,the/package/and/Class,methodName