If the failure of your Java™ program appears to come from a problem with the JIT compiler, you can try to narrow down the problem further.
By default, the JIT compiler optimizes methods at various optimization levels; that is, different selections of optimizations are applied to different methods, based on their call counts. Methods that are called more frequently are optimized at higher levels. By changing JIT compiler parameters, you can control the optimization level at which methods are optimized, and determine whether the optimizer is at fault and, if it is, which optimization is problematic.
java -Xjit:verbose,optLevel=noOpt HelloWorldruns the HelloWorld program, enables verbose output from the JIT, and makes the JIT generate native code without performing any optimizations.
Follow these steps to determine which part of the compiler is causing the failure:
If one of these settings causes your failure to disappear, you have a workaround that you can use while the Java service team analyzes and fixes the compiler problem. If removing disableInlining from the JIT parameter list does not cause the failure to reappear, do so to improve performance. Follow the instructions in Locating the failing method to improve the performance of the workaround.
If the failure still occurs at the "noOpt" optimization level, you must disable the JIT compiler as a workaround.