Skip to content


When you specify this JITServer option, synchronous JIT compilations are downgraded to cold optimization level and compiled locally, with a remote asynchronous recompilation scheduled at a later point.


Setting Effect Default
-XX:+JITServerLocalSyncCompiles Enable yes
-XX:-JITServerLocalSyncCompiles Disable

The option -XX:[+|-]JITServerLocalSyncCompiles is enabled by default in most cases. The option remains disabled when you specify -Xjit:count=0 and in a few advanced use cases such as running the JVM in debug mode (as described in the Improved JVM debug mode based on OSR post in the Eclipse OpenJ9™ blog).


During a synchronous compilation, Java™ application threads have to wait for the compilation to complete. Because remote compilations usually take longer, due to network latency, remote synchronous compilations can result in large pauses in the client application.

If you enable this option, the client performs synchronous compilations locally at cold optimization level and later recompiles asynchronously at a higher level remotely. This behavior can be beneficial for real-time applications.

See also