Отключить Java JIT для определенного метода / класса? - PullRequest
9 голосов
/ 23 октября 2010

В моем приложении Java возникла проблема, из-за которой JIT нарушает код. Если я отключаю JIT, все работает нормально, но работает в 10-20 раз медленнее.

Есть ли способ отключить JIT для определенного метода или класса?

Edit: Я использую 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 ]

8 голосов
/ 23 октября 2010

Следующая опция работает на моих JVM, чтобы исключить определенный метод:

-X:CompileCommand=exclude,the/package/and/Class,methodName
6 голосов
/ 23 октября 2010

Да, есть один.Вы можете указать затронутые классы, которые вы хотите исключить при компиляции JIT:

-Xjit:exclude={package/class.method|package/class.method}
...