Tengo un problema en mi aplicación Java donde el JIT rompe el código. Si deshabilito el JIT, todo funciona bien, pero se ejecuta 10-20 veces más lento.¿Deshabilitar Java JIT para un método/clase específico?
¿Hay alguna manera de desactivar el JIT para un método o clase específico?
Editar: estoy usando Ubuntu 10.10, obteniendo los mismos resultados tanto con:
OpenJDK Runtime Environment (IcedTea6 1.9) (6b20-1.9-0ubuntu1)
OpenJDK 64-Bit Server VM (build 17.0-b16, mixed mode)
y:
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)
Quizás quiso, abra una incidencia ¿ya? ¿O encontró un error existente que describe su problema? – soc
Parece muy poco probable que se deba al JIT, ¿no? ¿No podría deberse a una condición de carrera (ya que el momento cambia cuando se desactiva el jit) ... – aioobe
Solo estoy usando un hilo. Estoy ocupado investigando el error, pero realmente no tengo tiempo ahora. El error se produce de forma consistente después de que el JIT haya compilado un método específico. Por ahora solo estoy configurando la opción -XX: CompileThreshold lo suficientemente alta. – Ralf